安夏电子席卡 电子题词机版本 使用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一下,来平静一下我复杂的心情
更新程序注释,对比
Txtreader
与ProcessTxt
两个不同代码的区别,主要区别在文件的读取方式 -
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 今天要着重研究一下
Activity
与Intent
;Intent 报错:"Intent Error :Attempt to invoke virtual method 'android.app.ActivityThread$ApplicationThread android.app.ActivityThread.getApplicationThread()' on a null object reference"
应该与线程相关 -
2017.06.01 儿童节快乐~ 依旧研究
Activity
与Intent
; 调试程序总是错在startActivity(intent);
解决方法1: 以
Fragment
重新编写程序 仿照USBTest
编写;
解决方法2: 研究线程以及Intent
,争取调用USB程序 -
2017.06.02 今日研究通Inetnt调用的问题了,原因是
Fragment
与Activity
调用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 部分,加入相关的文件类型过滤器