旧机宝的开发历程
zfan93
这个作者很懒,什么都没留下…
展开
-
旧机宝开发笔记之:RN开发编译器的选择
学习RN开发的人大多是从其他领域延伸而来,因为RN目前可以跨越android、ios和web,那么学习RN的群体中主要就包括android开发者、ios开发者和web开发者,此外再增加一个直接入门RN没有其他任何基础的情况(项目所迫)。对于android开发者android开发者绝大部分都在使用android studio进行安卓开发(eclipse ADT 2015年就停止维护了不做考虑),...原创 2020-04-28 13:55:26 · 481 阅读 · 0 评论 -
旧机宝开发笔记之:RN应用和Native应用之间的通信(回调)
虽然完成了RN对原生方法最简单的调用,但是这种调用是单向的、没有回应的,这让很多需要“交互”的逻辑很难进行,现在我们模仿原生代码来寻找解决方案。思路java类中的方法是怎样和调用者“交互”的呢?常见方法如下:利用方法的返回值传一个回调/方法进来,直接回调调用方提供的逻辑发消息/广播等把结果通知出去我们可以模仿java思路来试试RN是否可行。然后再看看RN有没有什么自己独有的方法。...原创 2020-04-28 11:05:38 · 522 阅读 · 0 评论 -
旧机宝开发笔记之:RN应用的导航React Navigation(入门)
RN应用是显示在原生的一个页面(Activity)中的,并且RN只有一个入口,但是RN应用可能包含多个页面,那么RN怎么做页面跳转呢?有安卓开发经验的可能会想:既然RN是加载在一个Activity里,本来安卓原生里就是用一个activity来绘制一个页面,那我写多个Activity分别加载不同RN页面不就好了么?这种做法并不现实,相当于把一个App里的每个页面都单独打包成一个App,并分别安装,然...原创 2020-04-28 10:06:05 · 520 阅读 · 0 评论 -
旧机宝开发笔记之:RN应用和Native应用之间的通信(入门)
前言RN主要用于编写UI,原生API的调用、网络通信等等复杂的逻辑则大多是通过原生代码去实现的。那么RN和原生代码是怎么交互的呢?官网在此以下以安卓平台原生为例,我们按照官网的教程来实现这样一个交互demo,借此来了解互相调用的用法。不过我们的起点是一个刚刚创建的RN应用(通过npx react-native init来创建的),可能有些操作已经存在,不过这些步骤不会因此而被忽略。思路...原创 2020-04-25 22:21:35 · 472 阅读 · 0 评论 -
旧机宝开发笔记之:崩溃日志采集
安卓app运行过程中会产生一些异常(Exception),当这些异常能够被捕获的时候,程序本身就可以通过try/catch来处理异常,但是当这些异常不能被捕获(UncaughtException)的时候,就交给系统的默认的未捕获异常处理程序来处理,而默认的处理方式就是退出应用并打印出异常信息。对应用崩溃信息的采集,就是要在系统接手处理UncaughtException之前,先将报错信息写文件或发后...原创 2019-12-27 17:18:32 · 126 阅读 · 0 评论 -
旧机宝开发笔记之:通过网络调试
确保androidstudio和测试机在同一局域网。1、连接设备将设备打开开发者模式、usb调试(usb安装),通过数据线连接电脑,输入命令行查看是否有设备连接。 adb devices通过androidstudio查看更快更方便2,设置端口 adb tcpip 5555看到:restarting in TCP mode port: 55553、断开数据线,在设备的关...原创 2019-12-27 10:56:46 · 136 阅读 · 1 评论 -
旧机宝开发笔记之:局域网内android设备的发现和通信
旧机宝需要在一个局域网内(同一wifi下)实现设备的发现和通信功能。对于设备的发现,包括主动去搜寻别的设备以及主动声明自身的存在。对于通信则要求通信的句柄和设备的基本信息存储起来以供下次使用。实现的原理非常简单,创建socketserver,并通过UDP告诉其他设备该socketserver的存在,其他设备则通过连接该socketserver来维持通信链路。1、设备发现在所有设备都在同一网络并...原创 2019-12-27 09:37:28 · 452 阅读 · 0 评论 -
旧机宝开发笔记之:protobuf(PB)、GSON、JSON的选用
之前的项目大多使用GSON,理由是序列化和反序列化非常方便,又是使用广泛的多平台JSON格式,尤其为第三方应用提供aidl接口的时候,如果有些数据不方便传递给第三方,而平台又一股脑的用经典的JSON格式都返回了(有些字段只有应用内部才需要用到),此时通过序列化和反序列化对JSON数据的过滤筛选有奇效。当然这些都考虑到了开发的便利性,用亲儿子GSON而不用其他的fastjson等则是考虑到兼容性。不...原创 2019-11-08 16:37:12 · 643 阅读 · 0 评论 -
旧机宝开发笔记之:目录
“旧机宝”这个应用的开发,有两个目的:通过将旧手机变成一些有用的工具来让曾经陪伴我们的旧手机继续发光发热,避免吃灰终老的命运。通过旧机宝来学习kotlin语言,学习、验证、练习、记录一个完整app开发过程中会用到的各种技术。一切选择、开发都以上面两点作为目的,博客一般是应用写到哪就记录到哪,每隔一段时间会有整理,再更新记录在本目录中。欢迎各位大佬共同讨论学习。BottomNavigat...原创 2019-11-08 15:49:47 · 775 阅读 · 1 评论 -
旧机宝开发笔记之:Android Studio集成protobuf
1、项目的build.gradle文件的buildscript/dependencies增加如下内容classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.10'整个文件如下所示:buildscript { ext.kotlin_version = '1.3.50' repositories { g...原创 2019-11-05 17:00:28 · 766 阅读 · 4 评论 -
旧机宝开发笔记之:自定义刷新控件(兼RecyclerView)的使用
之前定义的刷新控件在使用的时候,基本等同于RecyclerView的使用,对于刷新操作只是增加了一个加载数据的回调罢了,因而本篇说是之前刷新控件的使用,大部分内容还是RecyclerView的使用。旧机宝的“设备页”打算分为三种布局,从上到下依次是一个查询bar,一个轮播的banner,还有每行两列的设备列表。第一步:在布局中使用自定义刷新控件<wang.buxiang.wheel.w...原创 2019-11-08 15:26:36 · 163 阅读 · 0 评论 -
旧机宝开发笔记之:SwipeRefreshLayout+RecyclerView实现的下拉刷新上划加载更多控件
旧机宝的用户反馈、设备列表、功能列表等等都有可能存在大量数据,需要进行分页显示,一个下拉刷新上划加载更多的控件是非常有必要的。这个时候就想到了原生的下拉刷新控件SwipeRefreshLayout,原生的应该支持最好也最简单纯粹,对于上划加载更多则通过RecyclerView的滑动坚挺来实现,之所以选用RecyclerView是因为其支持非常广泛的布局方式,有取代一众listview的趋势。为了方...原创 2019-11-07 10:55:57 · 197 阅读 · 0 评论 -
旧机宝开发笔记之:BottomNavigationView+ViewPager+Fragment实现的APP首页
旧机宝原本打算采用类似于QQ的侧边划出菜单的首页布局,但是鉴于目前的全面屏手机倾向于用屏幕侧边滑动来代替之前的返回按钮,导致侧边划出菜单的体验不是很好,容易混淆,故而选用下方导航栏的经典页面布局。又因为之前有人评价首页直接可以左右滑动切换页面的方式很贴心,故而选用BottomNavigationView+ViewPager的组合来实现首页的可滑动布局。为了代码更有条理,ViewPager的每一个页...原创 2019-11-06 19:37:05 · 344 阅读 · 0 评论