随笔分类 - Android
串口开发
摘要:串口开发 编译so文件和项目配置 google串口api下载https://github.com/cepr/android-serialport-api 修改android-serialport-api-master\android-serialport-api-master\android-ser
存储结构和文件操作
摘要:文件操作 内部存储 外置SD卡 内置SD卡:/storage/emulated/0,其中又分为私有目录(Android/)和公共目录 apk res/raw下的和assert下的,这些数据只能读取,不能写入。单个文件大小不能超过1M。 res/raw不可以有目录结构,而assets则可以有目录结构。
主机与安卓模拟器建立连接
摘要:主机与安卓模拟器建立连接 1.服务器和客户端都在主机上或都在模拟器上 客户端都使用127.0.0.1 new Socket("127.0.0.1", 9999); 2.主机:服务器,模拟器:客户端 客户端使用10.0.2.2,主机回环接口的特殊别名(即主机上的 127.0.0.1) new Sock
Notification
摘要:Notification <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="sendNotification" android:text="发送通知"/>
Service
摘要:Service Service既不是一个线程,Service通常运行在当成宿主进程的主线程中,所以在Service中进行一些耗时操作就需要在Service内部开启线程去操作,否则会引发ANR异常。 也不是一个单独的进程。除非在清单文件中声明时指定进程名,否则Service所在进程就是applicat
RecyclerView刷新方式
摘要:RecyclerView刷新方式 刷新全部item notifyDataSetChanged() student.setValue(new Student("二狗")); studentList.add(student.getValue()); myRecyclerViewAdapter.notif
序列化
摘要:序列化 Serializable activity_main.xml <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://sch
BottomNavigation
摘要:BottomNavigation 导航布局navigation.xml <?xml version="1.0" encoding="utf-8"?> <navigation xmlns:android="http://schemas.android.com/apk/res/android" xmln
Paging
摘要:Paging 添加paging和room的依赖 def paging_version = "3.0.1" implementation "androidx.paging:paging-runtime:$paging_version" // alternatively - without Androi
权限
摘要:权限 activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" and
Broadcast
摘要:Broadcast 静态注册 在清单文件中静态注册 <!-- 静态注册广播接收者--> <receiver android:name=".CustomReceiver"> <!--设置有序广播的优先级,越大优先级越高--> <intent-filter android:priority="100">
Navigation
摘要:Navigation 基本操作 activity_main.xml <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://sche
LiveData
摘要:ViewModel 添加依赖 implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0' activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout x
DataBinding
摘要:DataBinding 添加依赖 implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0' 不用再 findViewById 了; 减少了 Avtivity和Fragment的逻辑处理,使Activity 和Fragment逻辑更加
ViewModel
摘要:ViewModel 添加依赖 implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0' activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout x
数据存储
摘要:SP 存储配置信息:自动登录,记住密码,主题记录 首选项sharedpreference不能存太多东西,程序运行时,首选项里的所有数据会全被加载 MainActivity.java package com.example.mysp; import androidx.appcompat.app.App
OkHttp
摘要:OkHttp 添加依赖 implementation("com.squareup.okhttp3:okhttp:4.9.0") 注册权限 <uses-permission android:name="android.permission.INTERNET"/> 同步与异步请求 package com
Gson
摘要:Gson 添加依赖: implementation 'com.google.code.gson:gson:2.8.6' 对象的序列化与反序列化 User user = new User("wmj", "666", 24, false); Job teacher = new Job("teacher"
Rx
摘要:Rx 添加依赖 implementation 'io.rectivex.rxjava2:rxandroid:2.0.1' implementation 'io.rectivex.rxjava2:rxjava:2.0.7' Rx思维下载图片 添加网络权限 <uses-permission androi
Intent
摘要:Intent 用于启动Activity,启动Service,发送广播 显式Intent Intent(Context, Class) 构造函数分别为应用和组件提供 Context 和 Class 对象。因此,此 Intent 将显式启动该应用中的 DownloadService 类。 Intent