Androird开发
清影扶风
这个作者很懒,什么都没留下…
展开
-
【Android开发】AIDL
同一个进程之间的通信:iBinder ,例如Activity和Service之间的通信过程AIDL:Android Interface definition language作用:进程间的通信接口AIDL的使用创建aidl文件定义自己的方法// IMyAidlInterface.aidlpackage com.example.servicedemo;// Declare any non-default types here with import statementsin原创 2021-01-25 14:21:32 · 243 阅读 · 0 评论 -
【Android开发】Service基础
Service 仅仅是提供了一种不启动前台界面、让你在后台执行一些运算的途径。但它并不是开启了一条线程,Service还是运行在UI线程中的,要执行耗时操作时需要新开启子线程。Service 简介四大组件之一用于在后台处理耗时操作不受Activity生命周期的影响Service和Activity非常相似,但是它是没有界面的。他们可以共同实现的功能有:开辟线程访问网络操作数据库Service 生命周期onCreate()onStartCommand()onBind()o.原创 2021-01-25 11:11:58 · 122 阅读 · 0 评论 -
【Android开发】GSON解析
常用方法toJson-将bean对象转换为json字符串fromJson-将json字符串转换为bean对象添加依赖dependencies { implementation 'com.google.code.gson:gson:2.8.6'}类型转换 private fun parseByGSON() { //1. 添加依赖 //2. 实例化一个GSON对象(工具对象) val gson = Gson()原创 2021-01-25 09:04:00 · 193 阅读 · 0 评论 -
【Android开发】JSONObject解析
常用方法getJSONObject(String name) 获取JSONObject对象toString() 把JSONObject对象转换为json格式的字符串class JSONActivity : AppCompatActivity() { private var txt1: TextView? = null private var txt2: TextView? = null override fun onCreate(savedInstanceState: Bu原创 2021-01-24 17:40:51 · 812 阅读 · 0 评论 -
【Android开发】POST请求
POST请求class MainActivity : AppCompatActivity() { private var accEdt: EditText? = null private var pwdEdt: EditText? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(原创 2021-01-24 16:25:26 · 2314 阅读 · 1 评论 -
【Android开发】GET请求
class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } fun myclick(view: View) { when (view.id) {原创 2021-01-24 16:02:43 · 1519 阅读 · 0 评论 -
【Android开发】网络权限申请
创建安全配置文件在res文件夹下创建xml/network-security-config文件增加cleartextTrafficPermitted属性<?xml version="1.0" encoding="utf-8"?><network-security-config> <base-config cleartextTrafficPermitted='true'/></network-security-config>添加.原创 2021-01-24 15:53:52 · 1853 阅读 · 0 评论 -
【Android开发】HTTP协议
HTTP协议即超文本传输协议,是建立在TCP/IP协议基础上的网络应用层协议。默认端口号是80,使用的版本是HTTP/1.1,它基于客户/服务器模式,客户端主动发出HTTP请求,服务器接收HTTP请求,返回HTTP响应结果。工作原理客户端连接到服务器发送HTTP请求服务器接收请求并返回HTTP响应释放连接客户端解析响应内容...原创 2021-01-24 15:12:59 · 273 阅读 · 0 评论 -
【Android开发】ViewPager
应用场景引导界面、相册多图片预览多Tab页面、App导航广告播放展示使用步骤添加依赖xml布局中引用viewPager声明数组,将图片存入创建适配器,完成资源配置为viewpager设置适配器1.添加依赖build.grandledependencies { implementation 'androidx.viewpager2:viewpager2:1.0.0-alpha02'}2. xml布局中引用viewPager...原创 2021-01-21 21:57:38 · 1344 阅读 · 2 评论 -
【Android开发】ViewHolder
ViewHolder通常出现在适配器里,为的是listview滚动的时候快速设置值,而不必每次都重新创建很多对象,从而提升性能//根据准备好的数据源和子项布局完成ListView效果的一一设置//做细节处理class MyAdapter(private val list: List<Msg>, private val ctx: Context) : BaseAdapter() { //获取数量(设置ListView的长度) override fun getCount().原创 2021-01-21 15:14:26 · 1109 阅读 · 2 评论 -
【Android开发】BaseAdapter
BaseAdapter主容器<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:la原创 2021-01-21 14:28:19 · 103 阅读 · 0 评论 -
【Android开发】SimpleAdapter
SimpleAdapter主容器<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://s原创 2021-01-21 09:54:52 · 169 阅读 · 1 评论 -
【Android开发】ArrayAdapter
适配器是AdapterView视图与数据之间的桥梁,用来处理数据并将数据绑定到AdapterView上步骤准备布局(每一项的显示效果)准备数据源实例化适配器为ListView设置适配器ArrayAdapter 主题容器<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.原创 2021-01-20 17:03:47 · 181 阅读 · 0 评论 -
【Android开发】Fragment传值
Activity向Fragment传值方法一//Activityfun myClick(view: View) { val transaction = supportFragmentManager.beginTransaction() when (view.id) { R.id.rb_index -> transaction.replace(R.id.container1, IndexFragment()) R.id原创 2021-01-20 14:45:40 · 258 阅读 · 1 评论 -
【Android开发】Fragment加载
静态加载 <!--静态加载,通过Android:name指定Fragment的路径--> <fragment android:id="@+id/fragment1" android:layout_width="200dp" android:layout_height="200dp" app:layout_constraintEnd_toEndOf="parent" app:layout_constra原创 2021-01-19 17:17:40 · 489 阅读 · 0 评论 -
【Android开发】Fragment生命周期
生命周期添加FragmentonAttach():当fragment被添加到她所在的Context时被回调。只会被调用一次。onCreate():创建。代码中只需要初始化想要在Fragment中保持的必要组件。该方法只会调用一次。onCreateView():绘制界面组件,必须返回一个View(该Fragment所显示的View)。onActivityCreated():当Fragment所在的Activity被启动完成之后回调该方法。onStart():启动。onResume():恢复。原创 2021-01-19 16:04:57 · 178 阅读 · 0 评论 -
【Android开发】Fragment
Fragment在Android3.0+之后出现的一个Activity可以运行多个Fragment一个Fragment可以运行在多个Activity里Fragment不能脱离Activity存在Activity是屏幕的主题,而Fragment是Activity的一个组成元素原创 2021-01-19 15:46:49 · 117 阅读 · 0 评论 -
【Android开发】Activity的信息传递
简单信息传递发送信息val it3 = Intent(this, LearnActivity2::class.java)it3.putExtra("msg1", "message")it3.putExtra("msg2", 100)startActivity(it3)接受信息val it2 = intentval msg1 = it2.getStringExtra("msg1")val msg2 = it2.getIntExtra("msg2", 0)传递对象需要将对象序列化im原创 2021-01-19 14:06:58 · 72 阅读 · 0 评论 -
【Android开发】Activity的启动方式
显示启动 Intent it = new Intent(this, DialogActivity.class); startActivity(it);启动当前应用里普通的Activity。隐式启动隐式启动的传参方式是相当灵活的,在编译期间不会发生错误,可以打开很多不属于该应用的Activity(系统Activity)。隐式启动系统Activity //参数1:action,是Activity的别名 //参数2:Uri对象,打开的路径,通过协议来具体确定打开什么Activity原创 2021-01-19 13:48:34 · 286 阅读 · 0 评论 -
【Android开发】Activity的生命周期
4种状态运行状态:当前Activity位于前台,用户可见,可以获得焦点。暂停状态:其它Activity位于前台,该Activity依然可见,只是不能获得焦点。停止状态:该Activity不可见,失去焦点。销毁状态:该Activity结束,或Activity所在的进程被结束。状态转化加载ActivityonCreate(Bundle savedStatus): 创建Activity时被回调。该方法只能被使用一次。onStart():启动Activity时被回调。onResume():A原创 2021-01-19 13:18:05 · 196 阅读 · 1 评论 -
【Android开发】Activity 4种加载方式
配置Activity时可以指定android: launchMode属性,用于配置Activity的启动方式。该属性支持4个属性值:standard:标准模式,默认的加载模式singleTop:Task单例栈顶模式singleTask:Task内单例模式singleInstance:全局单例模式standard每次通过standard模式启动目标Activity时,Android总会为目标Activity创建一个新的实例,并将Activity添加到当前Task栈中。这种模式不会启动新的T原创 2021-01-19 09:46:21 · 176 阅读 · 0 评论 -
【Android开发】activity 跳转
val intent = Intent(this@MainActivity, TestActivity::class.java)startActivity(intent)原创 2021-01-19 09:26:44 · 74 阅读 · 0 评论 -
【Android开发】SeekBar
使用场景简单使用与事件监听setProgresssetOnSeekBarChangeListener <SeekBar android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/seekBar" android:max="100" android:progress="30"/&g.原创 2021-01-19 08:46:35 · 115 阅读 · 0 评论 -
【Android开发】常用Buttons
CheckedBox <CheckBox android:id="@+id/checkbox" android:layout_width="match_parent" android:layout_height="wrap_content" android:checked="true" android:text="CheckBox" />override fun onCreate(savedInstanceS原创 2021-01-19 08:37:15 · 88 阅读 · 0 评论 -
【Android开发】约束布局
<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.co原创 2021-01-18 16:15:48 · 143 阅读 · 0 评论 -
【Android开发】帧布局
<?xml version="1.0" encoding="utf-8"?><!--android:foreground 无条件处于最上层--><!--android:foreground="right|bottom"--><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" andr原创 2021-01-18 15:36:05 · 131 阅读 · 0 评论 -
【Android开发】简单View组件开发
View处理文本内容 TextView被点击的View Button处理图片内容的View ImageView接收用户信息输入的View EditView进度条类的VIew ProgressBar原创 2021-01-18 13:56:49 · 240 阅读 · 0 评论 -
【Android开发】Android Studio 中的 button 无法使用 background 更改背景颜色
•解决方案res/values/themes.xml下的<style name="Theme.HelloWorld" parent="Theme.MaterialComponents.DayNight.DarkActionBar">改为<style name="Theme.HelloWorld" parent="Theme.MaterialComponents.DayNight.DarkActionBar.Bridge"> 亲测有效!!!...转载 2021-01-18 09:17:03 · 2006 阅读 · 9 评论 -
【Android开发】相对布局
相对于父容器(取值:true/false)相对于其它控件(取值:其它控件id)<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> &l原创 2021-01-17 20:33:18 · 396 阅读 · 0 评论 -
【Android开发】线性布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_margin="20dp" android:padding="20dp">原创 2021-01-17 17:48:30 · 93 阅读 · 0 评论 -
【Android开发】Gradle
GradleAndroid主流编译工具项目中有两个gradle:setting.gradle: 记录哪些module应该被记录到编译过程build.gradle:里面的配置会应用到所有的项目中项目中每一个module都有自己的build.gradle:对当前module的配置,会覆盖项目中的build.grandle的配置Gradle中部分配置:minSdkVersion: 最小API level如果手机设备API版本低于这个version,手机就不能安装这个应用项目中不能使用原创 2021-01-17 09:06:18 · 108 阅读 · 1 评论