随笔分类 - Android
摘要:使用百度翻译API先要去官网申请账号,然后开通翻译服务,获取appid以及密钥。 Java版本 先根据API文档提供的返回的JSON数据格式创建一个实体类,文件名为TranslateResult。代码如下: import java.util.List; public class TranslateR
阅读全文
摘要:使用2021版本的Android Studio引入Maven仓库时一直报错。 最开始一直在项目的build.gradle中添加需要的依赖,如下: allprojects { repositories { google() jcenter() } } 结果同步的时候一直报错,不通过。 查了半天才知道,
阅读全文
摘要:创建通知渠道 为了能让用户自主选择关注应用的哪些通知,Android 8.0系统引入了通知渠道。每条通知对应一个渠道,用户就可自由选择开启哪些通知。通知渠道一旦创建之后就不能再修改了。 首先需要一个NotificationManager对通知进行管理,通过调用Context的getSystemSer
阅读全文
摘要:以下学习自https://blog.csdn.net/guolin_blog/article/details/121063078?spm=1001.2014.3001.5501 startActivityForResult()方法如今已经被废弃了,官方推荐的是使用Activity Result AP
阅读全文
摘要:1 全局获取Context的技巧 Android提供了一个Application类,每当应用程序启动的时候,系统就会自动将这个类进行初始化。如果我们想要在任何地方轻松获取Context,可以自己定制一个Application类,方便管理程序内的一些全局状态信息。 首先创建一个MyApplicatio
阅读全文
摘要:高级程序开发组件——Jetpack Jetpack是一个开发组件工具集,它的主要目的是帮助我们编写出更加简洁的代码,并简化我们的开发过程。Jetpack中的组件有一个特点,它们大部分不依赖于任何Android系统版本,这意味着这些组件通常是定义在AndroidX库当中的,并且拥有非常好的向下兼容性。
阅读全文
摘要:1 什么是Material Design? 它在2014年Google I/O大会上重磅推出的一套全新的界面设计语言。Material Design是由Google的设计工程师们基于传统优秀的设计原则,结合丰富的创意和科学技术所开发的一套全新的界面设计语言,包含了视觉、运动、互动效果等特性。 在20
阅读全文
摘要:Retrofit构建器的最佳写法 学完了Retrofit基本用法,但是里面还有一个问题,就是获取Service接口的动态代理对象比较麻烦。大致代码如下: val retrofit = Retrofit.Builder() .baseUrl("http://10.0.0.2/") .addConver
阅读全文
摘要:Retrofit基本用法 最好用的网络库:Retrofit。它和OkHttp的定位完全不同,OkHttp侧重的是底层通信的实现,而Retrofit侧重的是上层接口的封装。 Retrofit就是Square公司在OkHttp的基础上进一步开发出来的应用层网络通信库,使得我们可以用更加面向对象的思维进行
阅读全文
摘要:网络请求回调的实现方式 虽然掌握了HttpURLConnection和OkHttp的用法,但是发送HTTP请求的代码基本是相同的,所以我们需要将这些通用的网络操作提取到一个公共的类里,并提供一个通用方法: HttpURLConnection的写法 object HttpUtil { fun send
阅读全文
摘要:解析JSON格式数据 比起XML,JSON的优势是体积更小,在网络传输上更省流量。缺点就是语义性较差。 开始学习之前,先新建一个get_data.json文件,里面编写JSON格式的内容: [{"id":"1","verison":"1.0","name":"shufu"}, {"id":"2","
阅读全文
摘要:解析XML格式数据 解析XML格式的数据有很多种,这里学习比较常用的两种:Pull解析和SAX解析。 比如目前在本地服务器中有如下内容的get_data.xml文件: <apps> <app> <id>1</id> <name>shufu</name> <version>1.0</version>
阅读全文
摘要:使用OkHttp 有许多出色的网络通信库可以代替原生的HttpURLConnection,OkHttp尤其出色。 添加依赖 在使用OkHttp之前,需要在项目中添加依赖: implementation 'com.squareup.okhttp3:okhttp:4.1.0' 上述依赖会下载两个库:一个
阅读全文
摘要:WebView的用法 作用 在应用程序中展示网页。 实现 我们需要在xml布局文件中添加一个WebView控件。 然后修改MainActivity中的代码,如下所示: val webView = findViewById<WebView>(R.id.webView) webView.settings
阅读全文
摘要:Android多线程编程 其实就是将耗时操作放在子线程里运行,防止主线程被阻塞,影响软件使用。 线程的基本用法 1. 定义一个线程只需要新建一个类继承自Thread,然后重写父类的run()方法,并在里面编写耗时逻辑即可,如下所示: class MyThread: Thread() { overri
阅读全文
摘要:SharedPreferences存储 SharedPreferences是使用键值对的方式来存储数据的。 将数据存储到SharedPreferences中 Android中主要提供了两种方法用于得到SharedPreferences对象。 Context类中的getSharedPreference
阅读全文
摘要:文件存储 文件存储是Android中最基本的数据存储方式,它不对存储的内容进行任何格式化处理,所有数据都是原封不动地保存到文件当中的,因而它比较适合存储一些简单的文本数据或二进制数据。 将数据存储到文件中 Context类中提供了一个openFileOutput()方法,可以用于将数据存储到指定的文
阅读全文
摘要:广播机制简介 Android中的广播机制十分灵活,每个应用程序都可以对自己感兴趣的广播进行注册,这样该程序就只会收到自己所关心的广播内容,这些广播可能是来自于系统的,也可能是来自于其他应用程序的。 Android提供了一套完整的API,允许应用程序自由地发送和接收广播。 发送广播可以借助Intent
阅读全文
摘要:学习RecyclerView之前先回顾一下ListView。提升ListView的运行效率有两点: convertView:因为在FruitAdapter的getView()方法中,每次都将布局重新加载了一遍,当ListView快速滚动的时候,这就会成为性能的瓶颈。但是getView()方法中还有一
阅读全文
摘要:自定义标题栏 控件和布局的继承结构如下: 所有控件都是直接或间接继承自View的; 所用的所有布局都是直接或间接继承自ViewGroup的。 View是Android中最基本的一种UI组件,它可以在屏幕上绘制一块矩形区域,并能响应这块区域的各种事件。 引入布局 在layout目录下新建一个title
阅读全文

浙公网安备 33010602011771号