Day8
刷抖音发现了不少好听的歌,今日推荐,诗人莫把红颜醉--豆包
一.笔记
【线程】
默认情况下,程序只有一条执行的流程,这个执行的流程就是主线程。
//持续占有CPU资源,但不执行任何操作。
Thread.sleep(毫秒数)
ANR(Application Not Responding,程序未响应)
出现的原因就是主线程的执行顺序流被某个耗时的操作阻塞了,导致后续的操作无法及时响应。
这个时候系统处于保护的机制会弹出窗口。
但是很多时候,应用程序需要执行耗时操作(IO、网络等)的同时又要执行UI交互。
这种情况下应该使用多线程。
主线程:
1. 默认线程
2. 负责UI操作
3. 严禁耗时操作
子线程:
1. 需要手动开启
2. 执行完毕后自动关闭
3. 负责耗时操作
4. 严禁UI操作
【Thread线程】
开启线程的步骤:
1.自定义一个线程类,继承Thread类
2.覆盖Thread类中的run方法
3.在run方法中添加要执行的代码
4.创建自定义线程类的对象
5.使用自定义线程类的对象调用【start方法】启动子线程
【Runnable线程】
开启线程步骤:
1.自定义一个线程任务类,实现Runnable接口
2.实现Runnable接口中的抽象方法run
3.在run方法中添加要执行的代码
4.创建自定义线程任务类的对象
5.创建Thread线程类,在构造方法中传入自定义线程任务类对象
6.线程类对象调用start方法启动子线程
【线程模型】
主线程(UI线程):UI操作。
子线程:耗时操作。
UI(主线程)要显示耗时操作(子线程)的结果。
在子线程中发送消息给主线程。
快捷键 Ctrl + L 跳转行
【Handler】
【加载网络图片】
例子:加载一张网络图片到ImageView上。
https://03imgmini.eastday.com//mobile//20201218//20201218133813_362200891ebb137183288595c85eabf5_2_mwpm_03200403.jpg
程序要使用一些特殊的功能(如网络连接),需要在清单文件中添加相关的权限。
<uses-permission android:name="android.permission.INTERNET"/>
【新闻数据来源】
本次课程课上示例数据来自聚合数据平台API:
https://www.juhe.cn/
小组可以自行选择其他API平台的接口。
使用之前要注册账号。
http://v.juhe.cn/toutiao/index
? //用?将地址与其他项分开
type=tiyu
& //用&分割除地址外的其他项
key=5465c4c5d60f72c3d756a9f1a9b8437d //关键码
【cmd下中文乱码】
1.临时修改,只作用于当前打开的窗口
进入cmd窗口后,直接执行“chcp 65001”
执行完后,cmd的编码格式就是UTF-8
执行完后提示:
此时打开的窗口就不会乱码了
下面是Day8_HttpUrlConnection程序返回的数据:
二.作业
有一个页面,上面有一个按钮、一个文字显示控件、一个图片显示控件。
要求点击按钮后,文字开始倒计时10秒,10秒后图片显示控件加载一张网络图片。
网络图片地址:
Day9
一.笔记
【JSON数据】
昨天服务器返回的一对字符串实际上是JSON格式的。
格式(逐级嵌套):
{}表示的是JSONObject对象,内部是键值对
[]表示的是JSONArray对象,即JSONObject数组。
每条新闻包含的内容:
uniquekey ---每条新闻一个唯一识别码
title(必用) ---新闻标题
date ---新闻时间
category ---新闻类别
author_name ---新闻作者
url ---新闻连接
thumbnail_pic_s ---新闻图片
【WebView 网页加载控件】
专用于HTTP网页加载。
【android:allowBackup="true"】
AllowBackup是在Android 2.2中引入的一个系统备份的功能。允许用户备份系统应用和第三方应用的apk安装包和应用数据,以便在刷机或者数据丢失后恢复应用,用户即可通过adb backup和adb restore来进行对应用数据的备份和恢复。第三方应用开发者需要在应用的 AndroidManifest.xml 文件中配置 allowBackup 标志(默认为 true )来设置应用数据是否能能够被备份或恢复。
【给app换图标】
app图标定义在res/drawable-hdpi中
向目录加入你的图片,然后根据你的图片名替换掉前面提到的icon
最后将解压的文件按apk文件保存,图标就改好了
我的图片名是news.png
【修改app名字】
请到res/values/strings.xml下
【clean】
Project->clean之后bin下的文件会有改变,会删掉好多,重新运行之后会出现新编译的apk文件!!!
【实名注册问题】
今天需要调用聚合数据平台的接口时,需要实名注册,但我的一直不通过,我将身份证反复修改也不行,后来客服一语惊醒梦中人。我看了看实名认证不是我啊!!!!!!!
是我母亲大人,我才记起来这是她原来给我的卡,只能假期俩人拿着身份证去营业厅过户了。
我这种情况还是比较少的。。
接口申请好了就像下面那样,其中key和type是必要的,参考着我上传的代码那样解析json调用就好了。