Code Monkey home page Code Monkey logo

biji_baibuti's Introduction

Introduction

Stars Earned Collaborated Stars Followers Repositories GitHub Page

  • 👋 Hi! Here is AoiHosizora (青いほしぞら), majors in Intelligent Software and Robotics, Software Engineering.
  • 📝 Speaking languages: Mandarin Chinese (Native), Teo-Swa-uê (Native), English (CET-6), Japanese (JLPT-N1).
  • 🏢 Some owned GitHub organizations: ah-shellext & ah-forklib, my public email: [email protected].
  • 🚀 Interest areas: distributed backend system development, desktop client and android client development.
  • ⚡ Favorite programming languages: Go, Dart, C#, Kotlin, Rust, Typescript, etc.

Coding status

biji_baibuti's People

Contributors

angelazieglerb avatar aoi-hosizora avatar ponakliu avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

biji_baibuti's Issues

多活动传值

重点
新建完笔记后还没返回主界面就进行更改,未能正常同步。
禁用横屏,显示报错。
更改分组中加入修改分组入口。
标题多行问题。
搜索完后在本页面加入文本提示。
空笔记未保存进入详细信息提醒保存后自动跳出本活动。
详细信息添加具体分类信息和保存前字样。
笔记信息隐藏img标签

RecyclerView

  1. E/RecyclerView: No adapter attached; skipping layout
  2. RecyclerViewEmptySupport 保留待更改
    image

目前架构上存在的问题

  • C和S的数据同步问题

    • PK 可能存在冲突
    • ServerErrorException(不更新Log)
    • 数据库PK不同步,每次操作都 ServerErrorException
    • 初步文档 readme
  • 目前查询和插入的初步架构
    image
    image

NoteFragment GomiCode

  • 垃圾代码太多,Search 和 Grouping 功能冗杂臃肿
NoteList.remove(note);
noteAdapter.notifyDataSetChanged();

// TODO 一堆垃圾代码待改

if (IsSearching)
    noteAdapter.setmNotes(search(SearchingStr));
else if (IsGrouping)
    noteAdapter.setmNotes(getGroupOfNote(currGroup));
else
    noteAdapter.setmNotes(NoteList);
noteAdapter.notifyDataSetChanged();

image

异步识别文字 鸵鸟算法待改

    /**
     * 异步识别文字
     * @param bitmap 图片路径
     */
    private void idenWordsSync(final Bitmap bitmap) {
        idenLoadingDialog = new ProgressDialog(ModifyNoteActivity.this);
        idenLoadingDialog.setTitle(R.string.MNoteActivity_OCRSyncAlertTitle);
        idenLoadingDialog.setMessage(getResources().getString(R.string.MNoteActivity_OCRSyncAlertMsg));

        class HasDismiss {
            private boolean dismiss = false;
            HasDismiss() {}
            void setDismiss() { this.dismiss = true; }
            boolean getDismiss() { return this.dismiss; }
        }
        final HasDismiss isHasDismiss = new HasDismiss();

        final Observable<String> mObservable = Observable.create(new ObservableOnSubscribe<String>() {
            @Override
            public void subscribe(ObservableEmitter<String> emitter) throws Exception {

                // 识别 ExtractUtil.recognition <<< 异步
                final String extaText = ExtractUtil.recognition(bitmap, ModifyNoteActivity.this);

                emitter.onNext(extaText); // 处理识别后响应
                emitter.onComplete(); // 完成
            }
        })
        .subscribeOn(Schedulers.io()) //生产事件在io
        .observeOn(AndroidSchedulers.mainThread()); //消费事件在UI线程

        idenLoadingDialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
            @Override
            public void onCancel(DialogInterface dialog) { ////////// 待改
                // Toast.makeText(ModifyNoteActivity.this, "d", Toast.LENGTH_SHORT).show();
                // ExtractUtil.tessBaseAPI.clear();
                // mObservable.onTerminateDetach();
                isHasDismiss.setDismiss();
            }
        });
        idenLoadingDialog.show();

        mObservable.subscribe(new Observer<String>() {
            @Override
            public void onComplete() {

            }

            @Override
            public void onError(Throwable e) {
                if (idenLoadingDialog != null && idenLoadingDialog.isShowing()) {
                    idenLoadingDialog.dismiss();
                }
                Toast.makeText(ModifyNoteActivity.this, R.string.MNoteActivity_OCRSyncAlertError, Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onSubscribe(Disposable d) {
                subsInsert = d;
            }

            // 识别后的处理
            @Override
            public void onNext(final String extaText) {
                // 关闭进度条
                if (idenLoadingDialog != null && idenLoadingDialog.isShowing()) {
                    idenLoadingDialog.dismiss();
                }
                // 处理回显
                ShowLogE("idenWordsSync.onNext()", isHasDismiss.getDismiss() + "");
                if (!isHasDismiss.getDismiss()) // GOMI Code
                    idenWordsNextReturn(extaText);
            }
        });
    }

image

OnDraw方法绘制View边框问题

  • 直接 canvas.drawRect 绘制结果特别粗糙,待改
@Override
protected void onDraw(Canvas canvas) {
   // canvas.save();
   mPaint.setColor(BorderColor);
   mPaint.setStyle(Paint.Style.STROKE);
   mPaint.setStrokeWidth(BorderWidth);
   mPaint.setAntiAlias(true);

   canvas.drawRect(0, 0, getWidth(), getHeight(), mPaint);
   canvas.setDrawFilter(mPaintFlagsDrawFilter);
   super.onDraw(canvas);
   }

AndroidScreenShot

重构后的Bug和优化记录

  • 全局
    • 结巴分词初始化 GC OOM
    • OnResume 待整理
    • ActionBar Overlap
    • 添加 Launch Activity
    • 添加 About Activity
  • 认证
    • 登录注册的按钮没有对齐
    • 还没存储登录 Token
  • 笔记
    • 分组对话框无法输入
    • 默认分组删除重复
    • 删除分组后分组列表没有更新导致崩溃
    • 笔记分组顺序调整无效
    • 分组和搜索后修改笔记无效
    • 插入笔记图片后rx无法跳转到编辑界面
    • Fab 蒙版延时问题
    • 搜索和分组添加 ProgressDlg
  • 搜索
    • 百度搜索结果的链接没有转换
    • 加载更多经常找不到内容
    • 收藏的搜索出错
  • 课表
    • 当前周没有记录
    • 课表查询登录后没有跳转
    • 点击单元格的加号隐藏
    • 教师信息显示
    • 课表信息经常无法解析
  • 资料
    • 导入文件的Adapter没有setOnClick在view上
    • 导入文件对话框允许从文件夹选择,和打开保存文件合并
    • 按照分组共享和按照文件共享
    • 打开文档错误
    • 文档弹出菜单崩溃
    • 搜索框未修改
    • 分组信息的顺序
    • 选择别的分组可以弹出ProgressDlg
    • 文件上传和下载,显示进度
    • 删除分组并移动默认分组崩溃
    • 删除分组后没更新
    • 重复添加文档
    • 转移分组未写
    • 刷新文档列表跳转到分组
    • 无法下拉 EmptyView
    • 文档文件名上传后被SecureCheck被修改
    • 下载的搜索未写
    • action_all_share_documents 未实现

ModifyView

  1. 更新完路径后,插入拍照图片无法转到编辑图片页面。
  2. 统一路径。
  3. 拍照图片及时清理。

功能修改提醒

  1. 近期
  • 笔记分组显示,分组管理的 AlertDialog 部分 Positive 写漏
  • 加上 OnlineDataMgr 类和对应数据库表,记录同步信息
  • 登录活动和提醒登录的 View 设置
  • OCRActBoderlessButton 颜色不一致
  1. 远期
  • NoteFragFloatingButton 实现看尽可能修改
  • 尽量将缩进菜单的功能减少,尽可能用浮动菜单
  • 搜索部分标题更改,加上其他搜索引擎支持,并查找解析百度 Url 的更好方法
  • 整理笔记部分一堆的垃圾代码

ViewModify

一些图片正常不过无法显示,View Modify Activity #229
Screenshot_20190323-215217
Screenshot_20190323-215224

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.