
android
文章平均质量分 87
xianKOG
这个作者很懒,什么都没留下…
展开
-
Android 学习 -- android 发展史及由来
Android由来Android 操作系统 — Google 公司开发的操作系统 Android 是由一种基于Linux 的自由及开源代码的操作系统,主要使用与移动设备,如智能手机和平板电脑,由Google 公司和开发手机联盟领导及开发。尚未有统一中文名称。系统架构Android 的系统架构和操作系统一样,采用了分层的架构,从架构图看,Android 分为四个层,从高层到底层分别是...原创 2018-08-15 12:10:20 · 3024 阅读 · 0 评论 -
Android基于位置的开发
基于位置的开发服务所围绕的核心就是要先确定出用户所在的位置。通常有两种技术可以实现:一种是通过GPS定位,一种是通过网络定位。GPS定位:GPS定位的工作原理是基于手机内置的GPS硬件直接和卫星交互来获取当前面的经纬度信息这种定位方式精度非常高,但缺点是只能在室外使用,室内基本无法接收到卫星的信号。网络定位:网络定位的工作原理是根据手机当前网络附近的三个基站进行测速,基于此计算出手机和每个...原创 2018-10-22 16:03:46 · 611 阅读 · 0 评论 -
Android View绘制与自定义View
Android视图构成如上图,Activity的window组成,Activity内部有个Window成员,它的实例为PhoneWindow,PhoneWindow有个内部类是DecorView,这个DecorView就是存放布局文件,里面有TitleActionBar和我们setContentView传入进去的layout布局文件Window类时一个抽象类,提供绘制窗口的APIPhon...转载 2018-10-31 10:05:09 · 296 阅读 · 0 评论 -
Android几种异步的实现
用Java方法来实现异步主要有两种方法来实现异步,继承Thread类和实现Runnable接口继承Thread类public class MyThread extends Thread{ private String str; public MyThread(String str){ this.str= str; } @Override public void run(){ ...原创 2018-10-31 11:24:48 · 9945 阅读 · 0 评论 -
Android开发小技巧
Android定制自己的日志工具开发过程中为了调试而在各个地方打印日志,但是当项目完成需要上线的时候, 会发现大量的日志为删除,会打印出来,一方面会降低性能,另一方面会泄漏机密性数据。然是一行一行删除又太麻烦,所以最好的办法是能够自由的控制日志的打印,在程序处于开发阶段就让日志打印出来,当程序上线之后就把日志屏蔽掉。新建一个LogUtil类:public class LogUtil { p...原创 2018-10-24 10:30:12 · 534 阅读 · 0 评论 -
Android AIDL详解
AIDL(Android Interface Definition language):安卓接口定义语言用于定义服务器和客户端通信接口的一种描述语言,可以用来生成用于IPC的代码。AIDL也可以说是一个模板,因为在使用过程中,实际起作用的并不是AIDL文件,而是据此而生成的一个Interface的实例代码,AIDL其实是为了避免我们重复编写代码而出现的一个模板。设计AIDL这门语言的目的就是为...转载 2018-10-24 11:11:33 · 576 阅读 · 1 评论 -
OkHttp3 使用
先在 build.gradle中加依赖:implementation 'com.squareup.okhttp3:okhttp:3.11.0'使用OkHttp,肯定需要访问网络,所以需要网络权限<uses-permission android:name="android.permission.INTERNET" />然后对OkHttp封装处理:package com.ex...原创 2018-11-16 11:10:06 · 1264 阅读 · 0 评论 -
Retrofit2 的使用
创建Retrofit实例Retrofit retrofit = new Retrofit.Builder() .baseUl("http://localhost:........../") .build();创建Retrofit实例时需要通过 Retrofit.Builder ,并调用 baseUrl方法设置URL注1: :Retrofit2的baseUrl 必须通过 /(斜线)结束,...转载 2018-12-12 10:35:13 · 311 阅读 · 0 评论 -
RxJava 1.x
文章目录RxJava 是什么:异步RxJava在Github 主页上的介绍是:RxJava 的好处是什么:简洁例子:普通方法实现RxJava实现API介绍和原理解析概念:扩展的观察者模式RxJava的观察者模式基本实现RxJava 是什么:异步RxJava在Github 主页上的介绍是:&quot;a library for composing asynchronous and event-based...转载 2018-12-12 10:35:40 · 273 阅读 · 0 评论 -
RxJava 2
目录RxJava2 官方文档:http://reactivex.io/RxJava/2.x/javadoc/依赖接口变化 注:RxJava 2.x 相对于 RxJava 1.x 变化较大,所以需要单独记录RxJava2 官方文档:http://reactivex.io/RxJava/2.x/javadoc/参考:https://www.jianshu.com/p/0c...原创 2018-12-12 10:36:06 · 605 阅读 · 0 评论 -
OkHttp3+Retrofit2+RxJava2 集成使用
OkHttp框架Android为我们提供了两种 HTTP交互的方式:HttpURLConnection 和 Apache HTTP Client ,虽然两者都支持HTTPS,流的上传下载,设置超时,IPv6和连接池,已足够满足我们各种HTTP请求的需求。但更高效的使用HTTP可以让我们的应用运行更快,更节省流量。因此 OkHttp库 也为此诞生。OkHttp是一款高效的HTTP库,支持链接同...原创 2018-12-12 10:36:41 · 2310 阅读 · 1 评论 -
Android 分发机制
文章目录事件分发的基础对象定义事件类型(4种)特别说明:事件列本质在哪进行事件分发分发顺序核心方法事件分发机制 源码分析Activity事件分发机制ViewGroup事件分发机制View事件分发机制工作流程 总结核心方法总结dispatchTouchEvent()onInterceptTouchEvent()onTouchEvent()三者的关系常见的事件分发场景额外知识Touch事件的后续事件(...转载 2018-12-12 10:41:39 · 201 阅读 · 0 评论 -
Android 多线程运行机制
进程与线程进程在Android中,一个应用程序就是一个独立的线程(应用运行在一个独立的环境中,可以避免其他进程的干扰)。一般来说,当我们启动一个应用程序的时候,系统会创建一个进程(从Zygote中fork出来的,这个进程会有独立的ID),并为这个进程创建一个主线程(UI线程),应用程序的组件默认运行在它的进程中,但我们可以通过制定应用的组件(四大组件)的运行进程:android:process...转载 2018-12-12 10:42:40 · 1845 阅读 · 0 评论 -
Android Binder原理
IPC机制:进程间通信(Inter Process communication),指两个进程之间进行数据交换进程知识点进程空间的分配一个进程空间可以分为用户空间和内核空间(Kernel),即把进程内 用户 和 内核隔离开来二者的区别:用户空间的数据在进程之间是不可共享的,所以 用户空间 = 不可共享空间内核空间的数据在进程之间是共享 的,所以用户空间 = 可共享空间在进程之间...转载 2018-12-12 10:43:07 · 794 阅读 · 0 评论 -
Android解析XML、JSON格式数据
解析XML 格式数据解析XML格式数据其实有很多种方式,比较常用的两种就是 Pull解析和SAX解析。Pull 解析方式xml数据:String xmlData = "<apps>" +"<app><id>1</id><name>Google Maps</name><version&原创 2018-10-17 15:23:27 · 845 阅读 · 0 评论 -
Android通知(Notification)
Notification的创建使用通知,首先主要或者NotificationManagerNotificationManager manager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);接下来需要使用Builder 构造器来创建Notification对象。但是问题在于,几乎Android...原创 2018-10-10 16:01:18 · 477 阅读 · 0 评论 -
Android 四大组件,五大存储,七大布局
Android 四大组件android四大组件分别是:Activity, service,content provider,broadcast receiverActivityServiceContent ProviderBroadcast ReceiverAndroid 五大存储SharedPreferences 方式文件存储方式SQList 存储...原创 2018-08-15 12:28:24 · 46964 阅读 · 11 评论 -
关于Activity间的传值问题
Activity间通过Intent 传值(值,数组,集合,对象)Intent i1 = new Intent(this,OtherActivity.class);i1.putExtra(&quot;ont&quot;,&quot;123&quot;); //传值,值得类型可以是任意的i1.putIntegerArrayListExtra(); //传整型集合i1.putStringArrayListExtra(); ...原创 2018-08-20 11:24:15 · 253 阅读 · 0 评论 -
Android 蓝牙设备的查找与连接
Android 蓝牙设备的查找与连接1,添加蓝牙设备的权限,6.0以上动态权限 管理蓝牙设备的权限 &lt;uses-permissionandroid:name="android.permission.BLUETOOTH_ADMIN" /&gt; 使用蓝牙设备的权限2,检查是否支持蓝牙并打开获得蓝牙设备器(android.bluetooth.BluetoothAdapt...转载 2018-09-11 16:02:35 · 2882 阅读 · 0 评论 -
Android 性能优化
Android 性能优化原文:http://hukai.me/android-training-course-in-chinese/performance/memory.html管理应用的内存Random Access Memory (RAM 随机存取存贮器) 在任何软件开发环境中都是一个非常宝贵的资源。这一点在物理内存通常很有限的移动操作系统上,显得尤为突出。尽管Android的Da...转载 2018-09-12 17:01:56 · 268 阅读 · 1 评论 -
指定路径创建数据库及表
1,创建需要指定的路径(文件夹)public static final String PATH_ONE = &quot;KogBill&quot;;public static final String PATH_NAME = &quot;KogBill.db&quot;;String path = Environment.getExternalStorageDirectory().getAbsolutePath();Stri原创 2018-09-18 10:32:24 · 3406 阅读 · 0 评论 -
Eclipse 配置NDK环境并简单使用
JNI 与 NDK 的关系Eclipse 配置 NDK环境1, 下载NDK ,配置环境变量百度搜索 NDK下载,下载后解压。 环境变量中 , 添加 ANDROID_NDK_HOME (注:名字自己取),然后在 path 后面 添加 “;%ANDROID_NDK_HOME” (注意前面有个 ‘分号’)。 打开cmd ,输入 ndk-build 出现如下字符说明环境配置成功 ...原创 2018-09-07 16:21:42 · 5128 阅读 · 0 评论 -
调用摄像头和相册
调用摄像头拍照创建文件夹存放拍照图盘String path = Environment.getExternalStorageDirectory()+"/kog_picture"; System.out.print("path:"+path); File f1 = new File(path); if(!f1.exists()){ f1.mkdirs(); } Stri...原创 2018-10-12 09:12:06 · 479 阅读 · 0 评论 -
Android多媒体
播放音频在Android 中播放音频文件一般都使用MediaPlayer 类来实现,它对多种格式的音频文件提供了非常全面的控制方法。下表列出了MediaPlayer类中的一些较为常用的控制方法:方法名功能描述setDataSource()设置要播放的音频的位置prepare()在开始播放之前调用这个方法完成准备工作start()开始或者继续播放音频p...原创 2018-10-12 14:39:27 · 458 阅读 · 0 评论 -
Android动画详解
Android 三种动画详解背景Andorid系统提供了很多丰富的API 去实现2D 和 3D的动画,最主要的划分可以分为如下几类:View Animation:视图动画在古老的andoid 版本系统中就已经提供了,只能被用来设置View的动画Drawabe Animation :这种动画(也叫Frame动画、帧动画)其实可以划分到视图动画的类别,专门用来一个一个的显示Drawable ...转载 2018-10-12 14:42:18 · 257 阅读 · 0 评论 -
自定义View
自定义View一、重要概念介绍Canvas (画布)类可以用来实现各种图形的绘制工作,如绘制直线,矩形,圆等等绘制直线:canvas.drawLine();绘制矩形:canvas.drawRect();绘制圆形:canvas.drawCircle();绘制字符:canvas.drawText();绘制图形:canvas.drawBitmap();Paint(画笔)类要绘制图...转载 2018-09-28 10:23:38 · 293 阅读 · 0 评论 -
Android SDK Manager下载图解
转载 2018-09-29 10:48:56 · 390 阅读 · 0 评论 -
Android运行时权限
运行时权限介绍Android 的权限有上百种,分为 普通权限和危险权限。Android 6.0之后加入了运行权限。对于普通权限,只需要在AndroidMmanifest.xml 中添加权限声明就好了。对于危险权限,需要使用到运行时权限。下列表是Android中所有的危险权限,一共9组24个权限:需要注意的是,我们在进行运行时权限处理时使用的是权限名,但是用户一旦授权,那么该权限对应的权限...原创 2018-10-10 09:55:10 · 304 阅读 · 0 评论 -
Android不同分辨率适配
Android 不同分辨率适配目录Android 不同分辨率适配前言重要概念横屏和竖屏适配不同分辨率适配(1920x1080)不同分辨率适配(sw600dp,w600dp,h600dp)layout-sw600dplayout-w600dplayout-600dp前言适配可以分为:布局适配:Android布局有 线性布局,相对布局,绝对布局,帧布局。由于绝对布局适配性差,所以极少使用。...原创 2019-10-08 16:18:48 · 1704 阅读 · 0 评论