摘要:
一、用KMM写Flutter插件 Google官方有一个写Flutter例子How to write a Flutter plugin,这里把Google plugin_codelab 例子改成用KMM写Flutter插件。 二、如何运行 Github项目地址:kmm-flutter-plugin 阅读全文
摘要:
一、什么是KMM? Kotlin Multiplatform Mobile ( KMM ) 是一个 SDK,旨在简化跨平台移动应用程序的创建。在 KMM 的帮助下,您可以在 iOS 和 Android 应用程序之间共享通用代码,并仅在必要时编写特定于平台的代码。 KMM用纯Kotlin编写一次代码, 阅读全文
摘要:
什么是事件?事件是用户触摸手机屏幕,引起的一系列TouchEvent,包括ACTION_DOWN、ACTION_MOVE、ACTION_UP、ACTION_CANCEL等,这些action组合后变成点击事件、长按事件等。 在这篇文章中,用打Log测试的方法来了解Android TouchEvent 阅读全文
摘要:
DebugAndroidFramework 说明:调试Android Framework的Java部分代码,以调试源码android 28为例,需要一个API 28的模拟器配合使用。 一、下载源码 下载源码方式很多,由于调试Framework只需要java代码即可,这里使用Android Studi 阅读全文
摘要:
Android 开发高手课 课后练习(1) 一、Chapter01 崩溃 https://time.geekbang.org/column/article/70602 https://github.com/AndroidAdvanceWithGeektime/Chapter01 1、遇到native 阅读全文
摘要:
4月23日读书日,全称“世界图书与版权日”,在广州天河图书馆开了一张借书卡,借了3本书回来看,其中一本就是重构手册-《重构》之姊妹篇。为什么借了这本呢,是因为我想了解一些想象中的重构和大家认同的重构有什么不同,下面我将逐一细说这个异同。 一、原来重构是小步前行,逐一重构 我以前认为重构是某个项目的大 阅读全文
摘要:
先说一下adb命令配置,如果遇到adb不是内部或外部命令,也不是可运行的程序或批量文件。配置下环境变量1、adb不是内部或外部命令,也不是可运行的程序或批量文件。解决办法:在我的电脑-属性-高级计算机配置-环境变量,系统变量找到path,把sdk的platform-tools添加进去就可以了。D:\... 阅读全文
摘要:
一、UDP协议全称是用户数据报协议 ,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。1、UDP是一个无连接协议,传输数据之前源端和终端不建立连接;2、不维护连接状态,包括收发状态等,因此一台服务机可同时向多个客户机传输相同的消息;3、UDP信息包的标题很短,8个字节,对于TCP的20... 阅读全文
摘要:
一、利用Android提供的左右移动工具类:AnimationUtils LinearLayout ll_first = (LinearLayout) findViewById(R.id.ll_first); LinearLayout ll_second = (LinearLayout)... 阅读全文
摘要:
一、Mac或Win 7 配置环境,以gradle为例 (1)、可以在这里找gradle下载,或者去官网啦 Mac添加环境变量: 测试是否成功 (2)、Win 7 配置环境,以gradle为例 我的电脑(计算机)-->鼠标右键-->属性-->高级系统设置-->高级-->环境变量,添加变量和值如下 二、 阅读全文
摘要:
Android WebView访问https SSL证书网页,如淘宝,需要在onReceivedSslError添加SSL支持webview.setWebViewClient(new WebViewClient() { @Override public void onReceivedSs... 阅读全文
摘要:
目前手机端和服务端数据交流格式一般是json,而谷歌提供了Gson来解析json。下载Gson:https://code.google.com/p/google-gson/下载的放在lib并导入,若出现错误:java.lang.NoClassDefFoundError: com.google.gso... 阅读全文
摘要:
一、单个对象生成xml生成以下xml,该怎么生成呢? 1 123456 传说之美 2015-02-02 11:50:42先定义一个account类,属性有id、name、password、createDate。public class Account { private String ... 阅读全文
摘要:
Android使用SQLite数据库保存数据,那数据库版本升级是怎么回事呢,这里说一下。一、软件v1.0安装v1.0,假设v1.0版本只有一个account表,这时走继承SQLiteOpenHelper的onCreate,不走onUpgrade。1、v1.0(直接安装v1.0)二、软件v2.0有2种... 阅读全文
摘要:
你会很奇怪,为什么有些app启动时,会出现一会儿的黑屏或者白屏才进入Activity的界面显示,但是有些app却不会如QQ手机端,的确这里要做处理一下。这里先了解一下为什么会出现这样的现象,其实很简单,简历一个简单的例子就可以理解了。其实,黑屏或者白屏这里并不是不正常,而是还没加载到布局文件,就已经... 阅读全文
摘要:
经常我们会在资源文件(res/strings.xml)定义字符串,一维数组,那定义二维数组?直接定义二维数组没找到,可以间接定义。其实很简单,看过用过一次就可以记住了,一维数组估计大家经常用到,但是二维数组应该比较少用,因为只能间接定义二维数组。数组的定义:数组就是一次性定义相同数据类型的一组变量数... 阅读全文
摘要:
说到Android设计模式的MVC模式,估计很多人都是比较熟悉了,这里深入了解一下MVC到底是怎么回事,以ListView为例子讲解。一、深入理解MVC概念 MVC即Model-View-Controller。M:逻辑模型,V:视图模型,C:控制器。 MVC模式下,系统框架的类库被划分为3种... 阅读全文
摘要:
相信,在安装Android Studio的过程中会遇到很多问题,特别是第一次启动下载不了sdk.郁闷了吧。可以去官网下载,也可以点击这里下载Android Studio和sdk.一、不下载SDK启动Android Studio给一个解决方法:Android Studio安装目录下的bin,idea.... 阅读全文
摘要:
一、SharedPreferences是什么来的?SharedPreferences是Android四种数据存储技术中的一种(SharedPreferences、SQLite、Content Provider和File),SharedPreferences处理的就是一个key-value(键值对),... 阅读全文
摘要:
这里,通过一个小demo,就可以掌握在布局容器中动态添加控件,以动态添加Button控件为例,添加其他控件同样道理。1、addView添加控件到布局容器2、removeView在布局容器中删掉已有的控件3、使用,来个小demo就明白了public class MainActivity extends... 阅读全文