Coder Social home page Coder Social logo

ax-edp's Introduction

AX-EDP

安夏电子席卡 电子题词机版本 使用Android Studio 编写

说明:

  • 项目采用 小米平板2 作为蓝本开发,分辨率为 2048x1536
  • 项目Android 版本使用 25 版本 Android 7.1.1 (Nougat)

工作记录

  • 2017.05.18 搭建Android Studio环境,安装Git,重新编写 安夏电子席卡题词机项目分支 程序

主界面主要是显示时间,日期,另外两个按钮为进入文件系统(蓝色),和自动连接网络(第二阶段开发内容,目前无任何操作)

  • 2017.05.19 更新 Android Studio 配置,SDK 更新;编写TxtReader,ProcessTxt,MainPreView及界面,File 文件输入的问题还是没有解决

目前txt文本读取的是 \raw\a.txt 文件夹下的文件
使用的是 InputStream inputStream = getResources().openRawResource(R.raw.a); 语句进行读取
然后经过编码返回 String 类型字符串
程序如下:

    PreView_Text.setText(Main_string.substring(Page_Text_Num*(Text_Page-1),Page_Text_Num*Text_Page));
  • 2017.05.20 今天受到了朋友圈的各种伤害,于是我默默的去码代码了,Git一下,来平静一下我复杂的心情

    更新程序注释,对比 TxtreaderProcessTxt两个不同代码的区别,主要区别在文件的读取方式

  • 2017.05.21 研究 FileManager 的程序文件,学习文件目录操作函数方法

  • 2017.05.22 测试 FileManager 程序,发现读取emulated,sdcard等目录存在问题;需要查找问题

    研究发现:获取U盘挂载路径U盘、SD卡等外接存储设备的挂载,大部分都是在/system/etc/vold.fstab中指定了挂载路径,这么说就简单了吧;直接读取改文件,就可以知道U盘被挂载到哪个目录了,放心的是,基本上都再/mnt目录下
    编写文件导入界面file_manager 页面文件

  • 2017.05.23 学习解决 Thread 线程问题,但是遇到了困难,无法控制线程暂停,从而影响资源;文件目录获取到并通过列表显示出来,目前需要优化

    Thread 控制有两种方法,一种是使用 while(Flag) 形式, Flag 作为标识符来控制 while 循环,但是存在问题。
    使用列表 ListView 显示出来,点击事件可以获取到完整地址


    获取文件名通过 HashMap 的形式,这个列表随着 path的更新而更新


    将路径path与文件名组合在一起便可以得到完整的路径

  • 2017.05.24 加入文件类型判断程序 (判断txt 类型); 加入OTG USB 识别程序;

    尝试解决线程问题,在标识符前加入 static 可以停止线程,但是不能有效重启/继续线程
    OTG USB 研究了Android的相关包

  • 2017.05.25 今日主要研究 OTG 读取 USB 优盘;另外线程部分进行简化,解决一部分问题;

    线程问题在Activity的周期运行中可以有效控制,但是Fragment切换后,Activity依旧是运行状态,因此线程Thread依旧无法关闭
    添加简单的txt文字编码识别程序,以及 Google 推荐的字符编码识别程序
    关于OTG相关程序,查找到了 GitHub libaums 方法
    Android 插入USB设备自动检测,然后会自动启动Android的文件查看程序 = =|||
    加入了 OTG USB 相关的代码,但是 Activity 之间的调用问题没能解决,Intent传递出现问题

  • 2017.05.26 今晚要回北京了~ 主要研究Activity Intent 之间传递问题

    如果需要调用 OTG 相关操作函数,需要引入库文件:

    import com.github.mjdev.libaums.UsbMassStorageDevice;
    import com.github.mjdev.libaums.fs.FileSystem;
    import com.github.mjdev.libaums.fs.UsbFile;
    import com.github.mjdev.libaums.fs.UsbFileInputStream;
    import com.github.mjdev.libaums.fs.UsbFileOutputStream;
    import com.github.mjdev.libaums.partition.Partition;

    Intent
    研究 OTG USB 处理过程

  • 2017.05.29 今天要着重研究一下 ActivityIntent ;

    Intent 报错:"Intent Error :Attempt to invoke virtual method 'android.app.ActivityThread$ApplicationThread android.app.ActivityThread.getApplicationThread()' on a null object reference"
    应该与线程相关

  • 2017.06.01 儿童节快乐~ 依旧研究 ActivityIntent ; 调试程序总是错在startActivity(intent);

    解决方法1: 以Fragment 重新编写程序 仿照USBTest编写;
    解决方法2: 研究线程以及Intent,争取调用USB程序

  • 2017.06.02 今日研究通Inetnt调用的问题了,原因是FragmentActivity 调用 Intent 的方法不同

    目前采用的方法是由主程序获取本机SD目录中的documents中的文件信息,由USBManActivity获取USB设备中的文件信息
    文件浏览界面需要优化 SeekBar 部分需要优化
    尝试直接从 OTG 中打开 txt 文件


  • 2017.06.03 主要优先解决复制文件的操作问题

    USBMainActivity 中 设置复制路径为 String filePath = sdPath + "/documents/" + uFile.getName();
    目前采用独立的USBMainActivity来完成优盘文件的复制,然后再从本机读取
    完善文件类型判断程序
    Intent 传递 USBFilePath

  • 2017.06.05 完善显示界面SeekBar的细节问题;Txt编码还是不能全部识别

    SeekBar与上下翻页按钮 联动
    更改 txt 的编码程序,采用juniversalchardet.jar Google提供的工具程序
    点击 TXT 文件 自动打开浏览
    文件主浏览界面 SeekBar UI调整为底部对齐,文字部分设置为'match_parent'

  • 2017.06.06 Raspberry RTAndroid 测试不成功,原因未找到;三星运行没有问题

    点击Txt文件 不能完成自动跳转,已禁用Fragment跳转

  • 2017.06.07 诊断程序完善细节

    解决点击 txt 直接显示问题
    完善 txt 文件长度过短不足一页的问题
    分析程序中间报错信息,查找原因: IntentFilter 部分存在问题
    Txt 路径返回为空 情况的判断处理

  • 2017.06.08 继续诊断并完善程序细节

    增加主显示页面 页码显示,删除Toast提示
    尝试控制 Thread 进程
    还原 documents 目录的更改,还原为0 根目录
    Android 7 需要为应用打开权限,因此权限提醒需要加入这个功能

  • 2017.06.09 今日主要任务为完善程序

    加入权限检测模块,在程序运行前检查 SD及外部储存权限 ,并让用户选择权限
    昨日的文件路径修改存在问题,今日修复问题: 路径后需要加入""
    文件读取部分,加入 try cathe 结构,来让文件无法读取时可以不报错
    录制视频

  • 2017.06.12 完善FileManager程序,为文件类型做好接口

  • 2017.06.14 完善 Intent 部分,加入相关的文件类型过滤器

ax-edp's People

Contributors

leoliu8023amylu avatar

Watchers

 avatar

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.