- 博客(15)
- 收藏
- 关注
原创 NDK开发系列二
上一篇讲述了如何搭建环境以及解读第一个Demo,今天这篇将讲述如何创建自己的so库,并学习JNI中,Java如何调用C代码的。一:创建native方法,并生成头文件 1:创建Java类package com.luosiye.jni;/** * @author LuoSiYe * Created on 2017/12/14. * 新建一个Java类,并在方法前加
2017-12-15 17:02:21
331
原创 NDK开发系列一
开始之前的话: 1:本系列的开发,全部是在AS3.0的基础上进行。 2:文章上会对一些常犯错的以及需要注意的地方加以说明。 3:概念性的东西,就不在此啰嗦,我会在必要的地方加上详尽的注释。一:搭建环境(2种方式)1:直接在AS进行下载 File-> Settings ->Apperance&Behavior ->SystemSettings ->AndroidSDK,如图 下载完之后其实就
2017-12-13 23:52:11
451
原创 Adb常用命令
我们知道,adb是Android开发中一个非常强大的工具,它是在platform-tools目录下,如果你需要使用它,必须先定位到该目录下(如果你没有配置环境变量),如下图:下面是一些常用ADB的命令: 查看连接的设备:adb devices 开启服务:adb start-server 关闭服务:adb kill-server 重启服务:adb restart-server
2017-06-12 16:55:16
476
转载 android Binder详解
转载自:http://blog.youkuaiyun.com/universus/article/details/6211589摘要Binder是Android系统进程间通信(IPC)方式之一。Linux已经拥有管道,system V IPC,socket等IPC手段,却还要倚赖Binder来实现进程间通信,说明Binder具有无可比拟的优势。深入了解Binder并将之与传统IPC做对比有助于我们深入
2016-10-16 15:45:29
573
原创 Java的对象引用
概念 在Java中,我们听到最多的词,可能就是“对象”这个词了,同时也有着 “一切皆对象” 的说法。 对象很好理解,比如“人”是一个类,那么每个一个真实存在的人就是一个对象,那么什么叫对象的引用呢?要搞清这个问题,我们需要先了解另外一个问题,那就是Java的内存分配策略,下面是一个简略的分配图: 从上图我们可以很清晰明白的看到,Java在运行时内存的分配是分
2016-10-13 16:11:37
322
原创 Activity数据的缓存
看如下场景: 有A、B两个Activity,当从A进入到B中,如果系统内存不够,那么这时候A可能会被系统回收掉,这时候,我们再按back键,那么,执行的就不是A的onRestart()方法,而是onCreate()了,A被重新创建了一次,那么A中的临时数据可能就丢失了。 这时候如果要保存这些数据怎么办?当然是有办法的。Activity中有一个onSaveInstanceS
2016-09-22 15:52:59
1856
原创 Activity启动全过程解析
一些基本概念 1:ActivityManagerServices,简称AMS,服务端对象,负责系统中所有Activity的生命周期 2:ActivityThread,App的真正入口。当开启App之后,会调用main()开始运行,开启消息循环队列,这就是传说中的UI线程或者叫主线程。与ActivityManagerServices配合,一起完成Activity的管理工作。
2016-09-10 12:30:38
486
原创 Android 开发问题总结系列一
1:Adb端口被占用 解决方法: 第一步:输入 adb nodaemon server cannot bind ‘tcp:5037’ 第二步:输入 netstat -ano | findstr “5037“ 第三步:把占用的端口在任务管理器上杀死然后重启adb就可以了。(重启命令:adb start-server)2:APK重新签名方法 1:找到jarsigner.exe 所在位置
2016-04-21 11:44:30
480
原创 android 动态绘制各种图形
Android 中动态的绘制有两种方法,一种是用OpenGL ES,它主要用来做3D图形开发,对于一般的应用,我们会采取自定义一个View,然后覆盖onDraw()的方法。下面来讲一下第二种方法。 基本的思路是: 1:创建一个类,继承自View(或者SurfaceView)。 2:覆盖onDraw()方法。 3:使用Canvas对象在界面上绘制不同的图形,使用inva
2016-03-07 12:45:47
5161
原创 android 下的多线程
方法有许多,下面我们一一来讲: 第一种:用两个Handler。 为什么要两个?一个发起线程,一个处理消息,发起线程必须要有Looper,为何?没有Looper如何把消息加入到MessageQueue中去呢。为何处理线程又不需要Looper呢?因为他有默认的,也就是主线程的Looper。OK,如何获取到发起线程的Looper,通过HandlerThread,看代码:Handler handler;
2016-03-04 18:33:14
471
原创 Android定制化自己的开锁界面
android 在4.0以前,解锁界面是采用横滑的方式,在4.0之后,就采用了中心圆环的解锁方式,4.0和4.1都是有三个图标的,分别是:向上的google搜索应用,向左的拍照应用以及向右的正常解锁功能。但有时候,客户会要求改成他们自己所需要的解锁应用。下面我们来看一下,该如何修改系统给定的锁屏界面。 首先来说,要定制自己的锁屏界面,会有两种方式: 第一,基于源码来修改; 第
2016-03-03 16:34:09
959
原创 HTTP详解
HTTP协议(HyperText Transfer Protocol,超文本传输协议),它是应用层上的一个协议,下图是应用层的一些协议。 响应模式 http遵循请求-响应模式,标准的客户端/服务器模式。http协议永远都是客户端先发起请求,服务器回答响应。 http是一个无状态的协议,即客户端和服务器端不需要建立长久的连接,所以http又被称作为短连接。 工作过程 一
2016-03-03 15:23:12
487
原创 网络编程浅谈
网络编程的本质是两个(或多个)设备(如计算机)之间进行数据传输。 通过一定的物理设备将处于不同位置的计算机连接起来组成的网络,就叫做计算机网络;在这个网络中,包括了计算机、路由器、交换机、网线(光纤);路由器和交换机组成了计算机网络的核心,而计算机,只不过是这个巨大网络中的某一个节点。 对于网络编程来说,最重要的是计算机和计算机之间的相互通信,那么首先需要解决的问题是:如何找到你需要找到的某一台
2016-03-02 16:12:11
645
原创 Android如何集成百度、高德、腾讯地图
百度 1:首先,到百度地图API网址去注册;百度地图API,获取Appkey的过程。 进入控制台cmd: 定位到.android: 输入命令获取SHA1: 上图所用的是debug.keystore签名文件,一般开发测试过程中则用该文件,密钥库口令是android。如果我们想要使用自己的签名文件,看下图。 2:下载你所需要的开发包,并在AndroidManifest.xml
2016-01-23 17:39:20
4886
2
原创 android 的三种定位方式
Android 定位大致分为三大类:GPS定位;Network定位;AGPS定位。而Network又细分为WIFI定位和基站定位。下面详细讲解每种定位: Android GPS:需要GPS硬件支持,直接和卫星交互来获取当前经纬度。 优点:速度快、精度高、可在无网络情况下使用。 缺点:首次连接时间长、只能在户外已经开阔地使用,设备上方有遮挡物就不行了、比较耗电。 代码:/
2016-01-22 15:34:40
38708
14
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人