Android
weixin_38107457
这个作者很懒,什么都没留下…
展开
-
Service
service 用于后台完成用户指定的操作,它可以用于播放音乐,文件下载和检查新消息推送等Service的分类Started Service 当应用程序组件通过startService() 方法启动Service时,Service处于启动状态,一旦启动,Service能在后台无限期运行,其自身必须调用stopSelf()方法或者其他组件调用stopService()来停止ServiceBound Service 当应用程序组件通过调用bindService()方法绑定到Service时,Serv原创 2022-02-14 14:54:21 · 213 阅读 · 0 评论 -
四大应用组件之ContentProvider
1. 理解 1). 为会么要有ContentProvider?ContentProvider是什么?2. 相关API:ContentProvider: 内容提供者类ContentResolver: 内容解析器类 :Uri: 包含一个具有一定格式的字符串所对应资源的类UriMatcher: 用来识别uri的一个uri容器ContentUris: 操作uri的工具类自定义ContentProvider使用ContentRe...原创 2022-02-11 16:36:34 · 104 阅读 · 0 评论 -
四大应用组件之BroadcastReceiver
理论概述特点和作用相关API常见广播:发送广播注册广播接收器 4. 应用练习 1). 使用Receiver监听开机广播, 接收广播就启动电话监听的Service 2). 手机接收到短信后, 发了一个有序广播, 并将短信保存在广播的intent中 使用Receiver来接收此广播, 并从intent中取出短信数据(号码/内容) 判断号码是否是黑名单号, 如果是中断广播 ...原创 2022-02-11 16:04:58 · 172 阅读 · 0 评论 -
尚硅谷 —事件机制
1. 提出问题? 1). Android是如何响应对其中的某个视图的触控操作呢? --->MotionEventAndroid是如何响应对手机的按键的操作呢? ---->KeyEvent屏幕触控(MotionEvent)机制1).事件类型: down 手指按下 move 手指在屏幕上移动 up 手指从屏幕上离开事件发生的顺序: down--->move-->move-->...原创 2022-02-11 14:45:10 · 428 阅读 · 0 评论 -
尚硅谷-四大组件之Service
1. Service的理解:1). 区别Service与Activity?2). 区别Service与Thread?2. Service的定义3.Service的启动与停止5. 远程Service的使用(AIDL) 1). AIDL的基本理解 2). 使用AIDL(看PPT做)6.什么时候会用到反射? 1). 功能清单清单文件: 配置应用组件的全类名 2). 布局文件 : 视图标签 3). 显式意...原创 2022-02-10 22:39:02 · 158 阅读 · 0 评论 -
慕课网 ——自定义控件
1.特定的显示风格2.处理特有的用户交互3.优化我们的布局4.封装等如何自定义控件1.自定义属性的声明与获取2.测量onMeasure3.绘制onDraw4.状态的存储与恢复自定义属性声明与获取1.分析需要的自定义2.再res/values/attrs.xml定义声明3.在layout xml文件进行使用4.在View的构造方法中进行获取...原创 2022-02-09 11:21:14 · 225 阅读 · 0 评论 -
慕课动画
逐帧动画<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_frame_animation" android:...原创 2022-02-01 14:12:48 · 84 阅读 · 0 评论 -
尚硅谷—自定义控件
系统控件无法满足需求时,需要自定义控件。 1、系统的控件在不同手机长得不一样,我们希望在不同手机实现相同的效果; 2、有些手机上的控件长得不好看,希望好看一些。 3、系统控件的功能有限,需要在基础上增加功能。 03_怎么用自定义控件-三种方式 1、使用系统控件,重新组合,实现自定义的效果,案例有: 优酷环形菜单、广告条(ViewPager)、下拉菜单(spinner) 2、自己定义一个类继承 View ,实现特定的效果,案例有: 自定义开关按钮、水波纹效果、自定义属性原创 2022-02-01 11:19:33 · 83 阅读 · 0 评论 -
Android的三种动画详解(帧动画、View动画、属性动画)
1、帧动画帧动画就是顺序播放一组预先定义好的图片,就类似于我们观看视频,就是一张一张的图片连续播放。帧动画的使用很简单,总共就两个步骤:1、在res/drawable目录下定义一个XML文件,根节点为系统提供的animation-list,然后放入定义更好的图片;2、使用AnimationDrawable类播放第一步定义好的Drawable中的图片,形成动画效果;代码示例,第一步,创建Drawable文件:<?xml version="1.0" encoding="utf-8"?&g原创 2022-01-24 20:22:32 · 1798 阅读 · 0 评论 -
Android onActivityResult获取返回值的用法
1、MainActivity里面的主要代码(1)当需要返回值时,那么在启动另一个Activity时要用到 startActivityForResult ( intent , REQUEST_CODE ) ; 注意第二个参数是请求的int类型的值,这个值要在onActivityResult ()方法中和requestCode 做判断的, 由此来判断是启动的某个Activity。(2)onActivityResult ()方法中的第二个参数就是 SecondActi vity 传回来...原创 2022-01-23 20:55:51 · 1973 阅读 · 0 评论 -
android轮播图Banner的使用及详解
1.导入依赖'com.youth.banner:banner:1.4.9'2.添加权限<uses-permission android:name="android.permission.INTERNET" />//联网<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />//读取外置存储卡3.添加布局<com.youth.banner.Banner原创 2022-01-11 21:54:59 · 368 阅读 · 0 评论 -
尚硅谷_ButterKnife
ButterKnife 是注解中相对简答易懂的很不错的开源框架1.强大的view绑定和Click事件处理功能,简化代码,提升开发效率2.方便的处理Adater里的ViewHolder绑定问题implementation 'com.jakewharton:butterknife:8.5.1'...原创 2022-01-03 11:08:35 · 449 阅读 · 0 评论 -
BroadcastReceiver——广播接收 (慕课)
No DRP key due to exception:java.lang.ClassNotFoundException: com.android.webview.chromium.Dr当报这个错误的时候,将模拟器配置中的use host gpu开启,就可以了。原创 2021-12-29 21:53:50 · 299 阅读 · 0 评论 -
尚硅谷—Android与H5互调
1.为什么学Android也要学H5?Android很多软件都有内嵌H5DE2.有什么用处,提高开发效率节约成本,提高开发效率3.实现的原理是是什么?本质是:java代码和JavaScript调用原创 2021-12-29 12:28:00 · 120 阅读 · 0 评论 -
WebView的常用类(慕课)
mWebView.loadUrl("http://www.imooc.com/"); mWebView.setWebViewClient(new WebViewClient()); // 控制JS运行 WebSettings webSettings =mWebView.getSettings(); webSettings.setJavaScriptEnabled(true);webSettings.setSupportZoom(true);webSet...原创 2021-12-27 21:59:43 · 89 阅读 · 0 评论 -
webView的常用方法(慕课)1
webView的常用方法原创 2021-12-27 21:41:56 · 246 阅读 · 0 评论 -
尚硅谷_图片加载框架Glide(待学习)
原创 2021-12-23 23:14:21 · 176 阅读 · 0 评论 -
慕课_Gilde(图片加载框架)
implementation 'com.github.bumptech.glide:glide:4.8.0'annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'<?xml version="1.0" encoding="utf-8"?><network-security-config xmlns:android="http://schemas.android.com/apk/re...原创 2021-12-23 22:29:04 · 610 阅读 · 0 评论 -
尚硅谷_Gson
原创 2021-12-23 21:15:29 · 162 阅读 · 0 评论 -
尚硅谷Android_Json解析(原生)
JSON 简介(1)JSON 比 XML 数据传输的有效性要高出很多 (2)JSON 完全独立于编程语言。 (3)本质就是具有特定格式的字符串 String json1 = "{"id":12,"name":"Tom"}" String json2 = "[{"id":12,"name":"Tom"},{"id":12,"name":"Tom"}]" (1)Json 数组的结构: [value1, value2, value3] (2)例子: [1, “ab”,[原创 2021-12-23 00:45:54 · 460 阅读 · 0 评论 -
尚硅谷_EventBus
EventBus是一种用于Android的事件发布-订阅总线,由GreenRobot开发,Gihub地址是:EventBus。它简化了应用程序内各个组件之间进行通信的复杂度,尤其是碎片之间进行通信的问题,可以避免由于使用广播通信而带来的诸多不便。1.2 四种线程模型EventBus3.0有四种线程模型,分别是:POSTING:默认,表示事件处理函数的线程跟发布事件的线程在同一个线程。 MAIN:表示事件处理函数的线程在主线程(UI)线程,因此在这里不能进行耗时操作。 BACKGROUND:表原创 2021-12-22 22:02:29 · 106 阅读 · 0 评论 -
OKHttp的Get和Post请求小案例
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" .原创 2021-12-20 23:55:52 · 214 阅读 · 0 评论 -
Application全局应用
访问Application使⽤的是getApplication(),其返回当前应⽤的Application对象;getApp licationContext()返回当前应⽤上下⽂,也就是把Application作为Context,⽣命周期是 整个应⽤,应⽤摧毁时它才摧毁。另外,在这⾥要区别⼀下Activity的Context,Activity.th is的context 返回当前Activity的上下⽂,把Activity⽤作Context,⽣命周期属于Activity ,A...原创 2021-12-20 23:41:01 · 98 阅读 · 0 评论 -
AsyncTask实现异步网络请求
main主方法public class MainActivity extends AppCompatActivity { private ListView lv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);原创 2021-12-20 20:54:00 · 127 阅读 · 0 评论 -
AsyncTask(慕课网)
使用异步任务的原因就是因为:Android是单线程模型,耗时操作在非主线程中运行,而UI更新要在主线程中进行实现异步的方式有两种。第一种是通过AsyncTask来实现,第二种是通过线程池或者多线程来实现AsyncTask只是封装了线程跳转的逻辑,并且能够在子线程中处理耗时操作,从而提高程序整体的运行效率,UI的更新还是在主线程中的异步任务的中构建四个方法,分别是onPreExecute() 操作前的准备工作,doInBackground()耗时操作,onProgres...原创 2021-12-18 19:43:35 · 764 阅读 · 0 评论 -
(尚学堂)解析json
package com.atguigu.l05_handler;import java.util.ArrayList;import java.util.List;import java.util.Map;import org.json.JSONArray;import org.json.JSONException;import org.json.JSONObject;import android.test.AndroidTestCase;import android.uti...原创 2021-11-26 12:35:56 · 85 阅读 · 0 评论 -
(尚学堂)消息机制与异步任务——自动增加数值
package com.example.testapplication;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.View;import android.widget.Button;import android.widget.TextView;import android.widget.Toast;import android...原创 2021-11-25 23:19:39 · 585 阅读 · 0 评论 -
(尚学堂)测试Handler的基本使用
package com.example.testapplication;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.View;import android.widget.EditText;import android.widget.ProgressBar;import androidx.annotation.NonNull;im...原创 2021-11-25 22:31:11 · 283 阅读 · 0 评论 -
Android开发 -- 控件的显示与隐藏 setVisibility View.VISIBLE View.INVISIBLE View.GONE
在Android中setVisibility作为显示和隐藏的属性,一般我们呢都是在代码中进行操作,例如:[code]<span style="white-space:pre"> </span>this.mItem.setVisibility(View.VISIBLE);[code]其能够被设置的值有三个,分别是:View.VISIBLE 可见View.INVISIBLE 不可见,但是它原来占用的位子还在View.GONE 不可见,并且不留痕迹,不占...原创 2021-11-25 22:09:14 · 1150 阅读 · 0 评论 -
(尚学堂)消息机制与异步任务
Message 消息可理解为线程间通讯的数据单元,可通过message携带需要的数据创建对象 Message.obtain(what)Handler 处理器Handler 是Message的处理器,同时也是负责消息的发送和移除工作发送即时消息 sendMessage(Message msg)发送延时消息 sendMessageDelayed(Message msg,long time)处理消息 hanle.Message(Message msg)移除还未处理的消息remo原创 2021-11-25 12:35:41 · 160 阅读 · 0 评论 -
使用GSON解析JSON数据
implementation 'com.google.code.gson:gson:2.7'GsonFormatGson是采用对象映射的方式,所以我们要为JSON数据创建一个Java对象来与之对应。我们可以使用GsonFormat插件,迅速的将JSON数据转换成Java对象,使用方法如下:1、安装好GsonFormat插件2、新建一个类,在类里的空白处按Alt+S键,并将要转换的JSON数据复制进去,界面如下所示:注意:自动生成的时候,内部类可能会是静态的,手动...原创 2021-11-25 12:35:59 · 4424 阅读 · 0 评论 -
Android在ImageView上直接显示网络图片
使用图片加载框架Glide在这开源非常发达的时代,肯定会有大牛为我们做了个种各样的开源框架,根本不需要我们做这么复杂的工作,下面就简单使用图片加载框架Glide在使用前要添加Glide的依赖库compile 'com.github.bumptech.glide:glide:4.0.0'package com.example.lenovo.review;import android.support.v7.app.AppCompatActivity;import android.os.原创 2021-11-24 23:13:42 · 413 阅读 · 0 评论 -
get请求方式获取网络图片
package com.example.testapplication;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.View;import android.widget.ImageVie...原创 2021-11-24 23:05:37 · 1475 阅读 · 0 评论 -
JSON解析-Android原生解析
1.JSONObject2.JSONArray在src目录下 新建文件夹 assets{ "error_code":0, "reason": "Success", "result": { "data": [ { "context": "灌篮高手", "hashId": "462sdf462sd4", "unixtime": 1466238232, "updatetime": "2012-12-12原创 2021-11-22 22:51:20 · 552 阅读 · 0 评论 -
(艺)网络请求——数据解析和bean的介绍
private void requestDataByGet() { try { URL url = new URL("http://www.imooc.com/api/teacher?type=2&page=1"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setConnectT...原创 2021-11-21 21:29:50 · 679 阅读 · 0 评论 -
Handler消息处理(零基础)
在程序开发时,对于一些耗时的操作,通常会为其开辟一个单独的线程来执行,减少用户的等待时间,在Android中,默认情况下,所有的操作都在主线程总进行,主线程负责管理与UI相关的事件,Handler 是Android提供的一个用来更新UI的机制,也是一个消息处理的机制。通过Handle类可以发送和处理Message对象到其所在线程的MessageQueue中,常用类中的常用方法hangleMessage(Message msg) 处理消息的方法,通常重写该方法来处理消息,在发送消息,..原创 2021-11-17 22:46:16 · 674 阅读 · 0 评论 -
Handler通信(慕课)
1.Handler 是什么?2.为什么要使用Handler?3.Handler/Looper/MessageQueue/Message分别是做什么?4.Handler如何去实现?5.工作原理6.如何更好的使用Handler 线程与线程的处理关系(主要作用用于定时任务和实现不同线程间通信)Looper 循环Message 消息MessageQueue 消息队列 存储消息单线程// 创建Handler Handler handler = new.原创 2021-11-16 23:46:05 · 532 阅读 · 0 评论 -
使用GSON 解析数据
GOSON 是 java 类库,用户将java对象转换为JSON数据,也可以将一个JSON字符串转化为对应的java对象implementation 'com.google.code.gson:gson:2.8.1'GSON类库在解析json数据中更加方便,简答,它可以将一段JSON格式的字符串自动转换为一个对象,{ "id":101, "name":"sunmer", "age":28, "height":1.75}解析单个对象首先需要创建一个I.原创 2021-11-14 22:38:41 · 1281 阅读 · 0 评论 -
解析JSON数据
在Android的官网中提供了用于解析json数据的JSONObject 和JSONArray对象,其中JSONOject用于解析json对象;JSONArray用于解析JSON数组,实列:package com.example.testapplication;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.widget.TextVi..原创 2021-11-14 21:33:42 · 637 阅读 · 0 评论 -
okhttp
在使用okhttp 开源网络通信库,需要在gradle文件的dependencies 节点添加依赖库代码compile 'com.squareup.okhttp3:okhttp:3.9.1'、implementation 'com.squareup.okhttp3:okhttp:3.9.1'gradle不同 语法不同okHttp3 的基本用法使用get方式进行网络请求可以使用以下代码// 创建okHttpClient 对象 OkHttpClient okHttpCl.原创 2021-11-14 15:53:06 · 875 阅读 · 0 评论