安卓学习
爱敲代码的Jerry
这个作者很懒,什么都没留下…
展开
-
Intent启动内置应用程序
启动一个内置程序需要以下步骤: 创建intent对象 设置action属性 => 这个action要看启动哪个内置应用,然后去查对用的字符串或者常量值 设置Data属性 启动 部分内置应用想要打开需要权限 权限问题在Android6.0以前直接配置权限即可,之后只能在程序中动态申请获取用户的授权 例子1:启动拨号,打电话界面 /*************** 拨号界面 *******************/ Intent intent = new Intent(); // 这个字符串就是拨原创 2020-05-25 19:05:54 · 599 阅读 · 0 评论 -
Intent跳转
Intent的跳转分为两种: 显式 隐式 显式方法跳转 无论哪种都相当于是做了方法的重载 使用setClass方法 => 参数1:context对象,参数2:class对象 使用setClassName方法 => 参数1:context对象,参数2:字符串,目的组件的全限定名 使用setClassName方法 => 参数1:目的组件所在包的名字,参数2:目的组件的全限定名 使用setComponent方法,参数是一个ComponentName对象 PS:注意context对象,是原创 2020-05-25 14:48:54 · 1145 阅读 · 0 评论 -
Fragment的生命周期
Fragment是依赖Activity存在的,没有ActivityFragment无法显示出来 在创建时,Activity的生命周期先于Fragment的生命周期 在销毁时,Activity的生命周期晚于Fragment的生命周期 Fragment的活动状态 Fragment控件的使用 只需要更换布局文件即可 ...原创 2020-05-23 11:43:43 · 125 阅读 · 0 评论 -
安卓——Activity的生命周期
安卓的Activity活动栈 多个安卓Activity中的先后次序问题,需要用活动栈机制 如图: 每当新打开一个Activity时,会入栈,此时只有这个Activity是活动状态 除了栈顶的Activity其余的都处于暂停或者停止状态 如果内存不足,需要杀死Activity时,会释放资源使Activity处于非活动状态 安卓Activity的活动状态 分为四种: 活动状态:在活动栈处于栈顶的Activity,能被用户看到且可以交互,简单来说就是屏幕当前的Activity 暂停状态:当前Activi原创 2020-05-11 18:42:55 · 163 阅读 · 0 评论 -
安卓Activity跳转
安卓Activity跳转 分为三步: 创建Intent对象 设置从哪跳转到哪setClass 跳转startActivity Intent intent = new Intent(); intent.setClass(MainActivity.this, // context NewActivity.class); // class //跳转到新的Activity startActivity(intent);//不传递数据,并且不需要返回响原创 2020-05-10 11:45:04 · 332 阅读 · 0 评论 -
安卓——异步任务AsyncTask
异步任务:是一个在后台线程上运行,其结果是在UI线程上显示的一种类 执行过程如图 分为四步: 实现AsyncATask子类并创建对象 通过execute()方法启动子线程 onPreExecute()和inPostExecute方法不是必须重新,会在doInBackground()方法前后执行 doInBackground是真正执行子线程逻辑的方法 注: doInBackground()也是不能执行UI的,执行UI线程的方法需要放在onProgressUpdate()方法中,执行原创 2020-05-10 11:09:10 · 133 阅读 · 0 评论 -
安卓——多线程
安卓的多线程和java的多线程操作一样 有两种实现方法: 继承Thread类,重写run方法 实现Runnable接口,重写run方法 两种方法的线程启动需要调用start方法而不是run,否则相当于一个普通方法而非线程 继承Thread类:直接new然后调用start方法 //第一种实现子线程的方法:继承Thread类 private class MyThread extends Thread{ @Override public void r原创 2020-05-09 19:47:25 · 136 阅读 · 0 评论 -
安卓——添加事件处理EventHandle
事件处理有三种方法: 基于监听的方法 基于回调的方法 重写onClick方法 #主页面的XML文件,点击不同按钮展示不同的情况 <?xml version="1.0" encoding="utf-8"?> <net.onest.eventhandlech0301.MyLinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:or原创 2020-05-09 16:53:24 · 391 阅读 · 0 评论 -
安卓——消息提示Toast——消息通知Notification——菜单Menu(上下文菜单使用了系统的剪切板)——重写按键方法
1.消息提示,如下图 Toast toast = Toast.makeText(MainActivity.this,//MainActivity的当前对象 "输入的信息不合法",//提示消息 Toast.LENGTH_LONG);//持续时间 //修改Toast显示的相对位置 toast.setGravity(Gravity.CENTER,0,0); // 第二个参数和第三个参数为x,y偏移量原创 2020-05-09 14:06:16 · 397 阅读 · 0 评论 -
安卓弹出窗口
弹出窗口有三种实现方式 AlertDialog: AlertDialog.Builder => 创建构造器并设置各项属性 Builder对象通过create()方法生成AlertDialog对象 AlertDialog对象通过show()方法展示出来 FragmentManager: getSupportFragmentManager()获取FragmentManager对象 manager对象通过beginTransaction()开启事务 构造一个弹出框(Dia原创 2020-05-09 11:14:02 · 339 阅读 · 0 评论 -
安卓选项卡——FragmentTabHost
TabHost之外另一种实现选项卡的方式 TabHost实现的时候有几个界面要切换,就需要在XML中写几个,过多时候会显得冗余,用FragmentTabHost在XML文件中只需要一个FrameLayout,不需要在里面写更多的布局 <?xml version="1.0" encoding="utf-8"?> <androidx.fragment.app.FragmentTabHost android:id="@android:id/tabhost" android:la原创 2020-05-08 17:36:15 · 584 阅读 · 0 评论 -
安卓——选项卡——TabHost
选显卡:类似于QQ VX等主页面下方的几个小格子,就是这个东西 ↓ \downarrow ↓ 需要TabHost | TabWidget | FrameLayout三个组件 TabHost => id值固定使用@android:id/tabhost Tabwidget => id值固定使用@android:id/tabs FrameLayout => id值固定...原创 2020-05-08 15:10:20 · 395 阅读 · 0 评论 -
安卓适配器——SimpleAdapter
SimpleAdapter:布局方式为两个字符串 所以需要指定哪个字符串对应哪个组件 package net.onest.simpleadapterch0203; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.widget.ListView; import an...原创 2020-05-08 13:41:39 · 203 阅读 · 0 评论 -
安卓下拉列表
下拉列表—Spinner 有两种实现方式 通过java代码 XML属性 先在XML中设置Spinner组件 java代码方式: 获取数据 绑定适配器 Spinner组件的引用设置适配器 <Spinner android:id="@+id/sp_city" android:layout_width="match_parent...原创 2020-05-08 09:39:33 · 353 阅读 · 0 评论 -
安卓适配器——CustomAdapter
CustomAdapter -> 自定义适配器 安卓自带的适配器不会面面俱到,有一些需要的样式需要自己写,适配器也需要自己写 同样是三步: 准备数据 准备适配器 获取组件添加适配器 这次的适配器不再用系统自带的了,而是自己写 适配器需要继承自BaseAdapter 需要重写里面的几个方法 传递的参数一般为环境上下文,数据以及布局资源 需要布局资源,所以需要自...原创 2020-05-07 22:43:51 · 706 阅读 · 0 评论 -
安卓适配器——ArrayAdapter
ArrayAdapter —> 一个安卓自带的适配器 适配器的作用:可以将数据以一种合适的方式展示在屏幕上,例如QQ好友的列表形式,如果每添加一个好友就去通过java代码添加组件的方式展示,会让程序变得复杂。用适配器可以将列表这种子元素(每一个好友)都是相同展示方式的情况简化。 ArrayAdapter 是自带的一种很简单的适配器 一般来说适配器的使用分为三步 准备出来数据 准备适...原创 2020-05-07 22:12:34 · 681 阅读 · 0 评论 -
安卓布局LinearLayout —— RelativeLayout —— TableLayout —— GridLayout
LinearLayout 线性布局:只能横向或者纵向布局 取决于orientation属性 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizont...原创 2020-05-07 21:47:22 · 264 阅读 · 0 评论 -
安卓基本布局组件——JAVA代码方式创建视图界面——监听器的基本用法
LinearLayout布局 必须属性: layout_width layout_height可选参数: match_parent => 占满父布局的宽度 wrap_content => 随着内容的宽高变化 选择横向或纵向排列的属性:orientation 横向:horizontal 纵向:vertical TextView组件 属性: background =>...原创 2020-05-07 20:50:39 · 214 阅读 · 0 评论