
Android
文章平均质量分 69
CASTANEA
啥都学,扩展技术栈
展开
-
Android数据存储——SQLite数据库存储
Android系统内置数据库,SQLite是一款轻量级关系型数据库。一、创建数据库Android为了让我们能够更方便的管理数据库,专门提供了一个SQLiteOpenHelper帮助类...原创 2018-05-10 21:11:13 · 299 阅读 · 0 评论 -
数据存储——LitePal增删改查
先设置数据库public class Book extends DataSupport{ private int id; private String author; private double price; private int pages; private String name; private String press; publ...原创 2018-05-22 11:11:26 · 446 阅读 · 0 评论 -
Android——服务的基础之线程
后台功能属于四大组件之一,服务(Service)是Android中实现程序后台运行的解决方案,适合去执行那些和用户交互还需要长期运行的任务。服务的运行不依赖用户界面,即使应用程序被切换到后台,或者用户打开了另一个应用程序,服务依旧继续运行。服务并不是运行在一个独立的进场当中,而是依赖于创建服务所在的应用程序进程,当应用程序被杀掉的时候,所有依赖于该进程的服务也会停止运行服务并不会自动开启线程,所有...原创 2018-05-27 02:02:52 · 348 阅读 · 0 评论 -
Android——服务的基础之在子线程中更新UI
和许多其他GUI库一样,Android的UI也是线程不安全的。如果想要更新程序中的UI元素,则必须在主线程中进行,否则会出现异常。新建一个项目<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android...原创 2018-05-27 02:38:53 · 471 阅读 · 0 评论 -
Android——运行权限
eg:<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.wangkangli.runtimepermission"> //... <uses-permission android:name="android.permission.ACCESS_N...原创 2018-05-22 21:49:06 · 231 阅读 · 0 评论 -
Android——服务的基础之解析异步消息处理机制
Android中异步消息处理主要由4个部分组成:Message、Handle、MessageQueue和Looper。1、Message是在线程指尖传递消息,可以在内部携带少量信息、用于在不同线程间交换数据2、Handler是处理者的意思,主要用于发送和处理消息的,发送消息一般使用sendMessage方法,而经过处理后会传递到Handler的handleMessage方法中3、MessageQu...原创 2018-05-27 17:10:22 · 319 阅读 · 0 评论 -
Android——访问其他程序中的数据之ContentResolver的基本用法
内容提供器的用法一般有两种,一种是使用现有的内容提供器来读取和操作响应程序的数据,另一种是创建自己内容提供器给我们程序的数据提供外部访问接口。ContentResolver的基本用法对于一个应用,要访问内容提供器中共享的数据,就一定要借助ContentResolver类,可以通过Context中的getContentResolver()方法获取该类的势力,其中提供一系列方法对数据进行操作,其中in...原创 2020-03-08 14:28:47 · 1654 阅读 · 0 评论 -
Android——访问其他程序中的数据之读取系统联系人
我们先在电话薄中手动添加几个联系人,以便稍后进行读取新建一个Contacts项目public class MainActivity extends AppCompatActivity {ArrayAdapter<String> adapter;List<String> contactList = new ArrayList<>(); @Overrid...原创 2018-05-23 15:53:01 · 356 阅读 · 0 评论 -
Android——访问其他程序中的数据之创建自己的内容提供器
首先我们先新建MyProvider继承字ContentProviderpublic class MyProvider extends ContentProvider { @Override public boolean onCreate() {//初始化内容提供器,完成对数据库的创建和升级等操作,返回true则初始化成功,返回false则初始化失败,只有当存在ContentResl...原创 2018-05-23 20:16:58 · 368 阅读 · 0 评论 -
Android——使用通知
通知的用法还是比较灵活的,既可以在活动里创建,也可以在广播接收器中创建,也可以在服务中创建,一般在活动中创建通知的场景还是比较少的,因为一般只有当程序进入到后台的时候我们才需要使用通知。 无论在哪里创建通知,步骤都是相同的。首先我们需要一个NotificationManager来对通知进行管理,可以调用Context的getSystemService()方法获取的,这个方法接收一个字...原创 2018-05-24 11:32:58 · 300 阅读 · 0 评论 -
Android——服务的基础之使用AsyncTask
为了更加方面的在子线程中进行UI操作,Android还提供了另外一个工具AsyncTask,在其中可以轻松的从子线程切换到主线程,其原理也是基于异步处理机制的,只是Android帮我们做了封装AsyncTask是一个抽象类,如果想要使用,必须创建子类去继承他,在继承时我们可以为AsyncTask类指定三个泛型参数Params 在执行AsyncTask时需要传入的参数,用于在后台任务中使用Progr...原创 2018-05-28 20:42:42 · 279 阅读 · 0 评论 -
Android——服务的基本用法之定义一个服务并进行启动与停止
在项目中定义一个服务,新建一个Service项目 New - Service - Service。public class MyService extends Service { public MyService() { } @Override public IBinder onBind(Intent intent) { // TODO: Retu...原创 2018-05-29 00:16:36 · 1521 阅读 · 0 评论 -
Android——活动与服务之间的通信与服务的生命周期
public class MainActivity extends AppCompatActivity implements View.OnClickListener{private MyService.DownloadBinder downloadBinder;private ServiceConnection connection = new ServiceConnection() { ...原创 2018-05-29 01:22:59 · 749 阅读 · 0 评论 -
Android——使用网络技术之WebView
WebView的用法首先加入WebView<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"><WebView an...原创 2018-05-24 14:54:34 · 267 阅读 · 0 评论 -
Android——使用网络技术之使用OkHttp
首先在github上寻找okhttp依赖我们首先创建一个OkHttpClient实例OkHttpClient client = new OkHttpClient();接下来如果想发起一条HTTP请求,就需要创建一个Request对象Request request = new Request.Builder().build();我们要在build()方法之间连缀很多其他方法来丰富这个Requset对...原创 2018-05-24 23:20:06 · 292 阅读 · 0 评论 -
Android——使用网络技术之使用HTTP协议访问网络
先简单说一下HTTP协议,客户端向服务器发出一条HTTP请求,服务器收到请求会返回一些数据给客户端,然后客户端在对这些数据进行解析和处理就可以了。WebView控件,其实就是我们向百度服务器发起了一条HTTP请求,服务器分析出我们想要访问的是百度的首页,于是会把该网页的HTML代码进行返回,然后WebView再调用手机浏览器内核对返回的HTML代码进行解析。使用HttpURLConnection首...原创 2018-05-24 21:34:16 · 559 阅读 · 0 评论 -
Android—网络编程
一个应用程序会在许多地方使用网络功能,而发送HTTP请求代码基本都是相同的,所以我们不会每次都去编写一遍发送HTTP请求的代码。我们将这些通用的网络操作提取到一个公共的类里,并提取一个静态方法,当想要发起网络请求的时候,只需调用这个方法即可public class HttpUtil { public static String sendHttpRequest(String add...原创 2018-05-26 23:51:23 · 444 阅读 · 0 评论 -
Android——使用网络技术之解析JSON
TextView responseText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Bu...原创 2018-05-25 21:23:39 · 219 阅读 · 0 评论 -
MAC 配置安卓环境变量
在终端中打开android的sdk文件夹vi .bash_profile若没有则原创 2018-05-09 17:06:55 · 553 阅读 · 0 评论 -
Android数据存储——LitePal的创建基础
LitePal是一个比SQLite操作简单一点的数据存储开源库。GitHub上查找LitePal即可看到最新版的LitePal,并在build.gradle中加入(版本号按照GitHub上最新情况而定)implementation 'org.litepal.android:core:1.6.1'再app/src/main目录中New->Directory 创建一个assets目录,在其中创建...原创 2018-05-17 20:46:28 · 419 阅读 · 0 评论 -
SQLite数据库查看工具DB Browser for SQLite使用
1、下载DB Browser for SQLite 个人觉得比较好用的一个SQLite数据库查看工具2、在Android项目中databases中的数据库文件复制到其他位置3、使用该工具打开,即可查看...原创 2018-05-17 20:52:34 · 26573 阅读 · 2 评论 -
Handler消息处理
主要用途 未来某事做某事 线程间通信延时三秒跳转线程通信原创 2018-05-01 15:40:35 · 232 阅读 · 0 评论 -
启动活动的最佳写法
在被打开的活动中添加方法public class SecondActivity extends AppCompatActivity { public static void actionStart(Context context,String data1,String data2){ Intent intent = new Intent(context,SecondActi...原创 2018-05-01 17:24:37 · 180 阅读 · 0 评论 -
Android数据存储 ——文件存储
文件存储 1、将数据存储到文件中 Context中有openFileOutPut方法,可将数据存到指定文件中,方法接收两个参数,一个是文件名,没有路径,因为自动存储到/data/data/<package name>/files/目录下的。第二个参数是文件的操作模式,主要是两种模式MODE_PRIVATE和MODE_APPEND。其中MODE_PRIVATE是默认的...原创 2018-05-06 16:41:15 · 428 阅读 · 0 评论 -
Android数据存储——SharedPreferenced
SharedPreferenced是使用键值对的方式来存储数据。保存一条数据时,需要给这条数据一个对应的键,这样在读取数据的时候就可以通过这个键把相应的值取出来。存的是整形取出还是整形。存入字符串取出仍然是字符串。一、把数据存到SharedPreferenced中去 1、Context类重的getSharedPreferenced()方法接收两个参数第一个是文件名称,第二个是指定操作模式 ...原创 2018-05-07 21:56:09 · 419 阅读 · 0 评论 -
Android-广播机制
广播机制android中每个应用程序都可以对自己感兴趣的广播进行注册,这些广播可能是来源于系统也可能来源于其他应用程序,接收广播的方法则需要引入一个新概念——广播接收器 Broadcast Receiver广播类型1、标准广播在广播发出后所有的广播接收器几乎同时接收到这条广播消息,因此没有先后之分,这种广播效率比较高也就意味着它是无法被截断的。2、有序广播广播发出后同一时刻只有一个广播接收器可以接...原创 2018-05-05 22:39:34 · 257 阅读 · 0 评论 -
RecyclerView的使用
RecyclerView能够灵活实现大数据记的展示,视图的复用管理比ListView更好,能够显示列表、网格、瀑布流、等形式,且不同的ViewHolder能够实现item多元化的功能但是它没有类似于ListView的onItemClickListener监听事件,需要自己实现一、创建过程在app文件夹下的build.gradle中添加compile 'com.android.support:des...原创 2018-04-30 16:09:17 · 166 阅读 · 0 评论 -
Activity创建三步骤
1、新建类继承Acticity或其子类setContextView(R,layout.TestActivity)2、在AndroidManifest中声明3、创建layout并在Activity的onCreate中设置手动创建过程新建Java类 继承AppCompatActivity 在Manifest中声明<activity android:name=".TestActivity">...原创 2018-04-28 16:11:58 · 3404 阅读 · 0 评论 -
Activity的生命周期
Activity生命周期,Activity被部署到安卓应用之后,跟随应用运行,会在不同的状态间进行切换,并且在切换状态的同时会回调不同的方法,这种状态叫生命周期活动有四种状态:运行状态、暂停状态、停止状态、销毁状态onCreate:在活动第一次被创建的时候调用,在这个方法中应完成初始化操作,比如加载布局绑定事件onStart:在活动由不可见变为可见时调用onResume:在活动准备好与用户交互的时...原创 2018-04-28 17:18:23 · 219 阅读 · 0 评论 -
Activity的跳转和数据传递
一、显式跳转和隐式传递Activity之间的数据传递startActivityForResult:启动Activity,结束后返回结果二、主要用的就是下面所写的第一种显式跳转public class AActivity extends AppCompatActivity { private Button mBtnGotoB; @Override protected void...原创 2018-04-29 14:26:34 · 400 阅读 · 0 评论 -
Activity的四种启动模式
Activity的android:launchMode属性 standard:标准模式,默认 singleTop:Task栈顶服用模式 singleTask:Task栈内复用模式 singleInstance:全局单例模式standard Activity是由任务栈管理的,每启动一个Activity,就会被放入栈中,按返回键,就会从栈顶移除一个Activity。 ...原创 2018-04-29 15:08:58 · 162 阅读 · 0 评论 -
基于监听的事件处理机制
监听三要素 Event Source 事件源 Event 事件 Event Listener 事件监听器 btnTextEvemt.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ...原创 2018-05-01 01:58:30 · 620 阅读 · 0 评论 -
Android——使用网络技术之解析XML
安装apache在其目录中添加.xml文件进行解析注意安卓访问本机需要的ip是10.0.2.2package com.wangkangli.okhttplearn;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.v...原创 2018-05-25 20:10:42 · 210 阅读 · 0 评论 -
okhttp3 访问服务器失败 onFailure 提示CLEARTEXT communication to host not permitted by network
解决方法!!!这真的是一个坑在res下新建一个xml目录 创建名为network_security_config.xml 文件 ,该文件内容如下:<?xml version="1.0" encoding="utf-8"?><network-security-config> <base-config cleartextTrafficPermitted...原创 2018-07-28 01:21:15 · 8062 阅读 · 8 评论