Android读书笔记0-从零开始】的更多相关文章

调试环境: 1.软件:monodevelop v3.0.3.5 2.硬件:华为C8650s手机一部,数据线一根,thinkpad e420笔记本电脑一台 调试的应用程序有一个Activity,Activity上有一个按钮,按钮的caption会记录按钮的点击次数. 测试程序如下: using System; using Android.App; using Android.Content; using Android.Runtime; using Android.Views; using And…
本章将会介绍: 传感器的API 加速器编程,设备的方向,近场检测 网络编程 蓝牙编程 上述的技术的应用场景很多,比如: 1.检测当前的网络是否可用,并提醒用户,检测当前的网络类型,比如Wifi.3G.EDGE网络. 2.加速器可以用来提供随机种子,比如摇晃设备时随机访问数据源中的数据. 3.用户水平和垂直放置设备时应用提供不同的视图. 传感器 android设备常见的硬件有:加速器,罗盘,麦克风,陀螺仪等. Android的Sensor类抽象了所有的传感器设备.实际的传感器有厂商,名称,精确度,…
可以有千万个理由,但是结果就在这里,我开始对Android产生兴趣,于是决定学点啥.啥都不说,单刀入正题. 开发环境 啥都不说,直接上图. 只说Windows平台上,下载完直接解压即可.比起VS安装过程中漫长的等待,感觉Eclipse不错. 从来没有用过Eclipse,所以这里先不发表任何多余评论. Hello World! 没有办法,Hello World总是一个必修课. 第一步:新建一个Project 中间省略各种步骤. 模拟器中运行 终于到了检验成果的时候了,习惯性的觉得是不是应该会生成.…
#-*- coding:utf-8 -*- ##D.has_key(k): A predicate that returns True if D has a key k.##D.items(): Returns the contents of dictionary D as a list of two-element tuples(k,v),##D.iteritems():Returns an iterator that generates the values from dictionary…
# -*- coding:utf-8 -*- ##s.partition(d)##Searches string s for the first occurrence of some delimiter string d.if s contains##the delimiter,it returns a truple(pre,d,post),where pre is the part of s before##the delimiter ,d is the delimiter itself,an…
第四章 这是一次源代码之旅,学到了如何下载和编译Android源代码和Linux内核源代码.来详细阐述一下一些具体过程 一.Android源代码下载环境 1.安装下载Android源代码的环境配置 (1)先创建一个用于存放下载脚本文件repo的目录 (2)下载repo脚本文件 (3)创建用于存放Android代码的目录: make dir android_source cd android_source (4)初始化 (5)开始下载Android源代码: repo sync 2.下载Androi…
本章讲到需要Android应用程序以及Android NDK程序来测试Linux驱动,所以所需要的工具都必须配备好.而且对工具的版本也是有一些要求,JDK,Eclipse,ADT,CDT,Android SDK,Android NDK,交叉编译环境,Linux 内核源代码,Android源代码,用于调试开发板串口的工具minicom,当然开发板也是必需的了. 核心步骤: 1.JDK安装,需要在Ubuntu下安装.首先要下载,然后解压,在终端输入命令#gedit /etc/profile来设置PA…
通过本章的学习真实体会到“移植”的概念:为特定设备定制Android的过程,但是移植的过程中开发最多的就是支持各种硬件设备的Linux驱动程序,本章对Android和Linux做了总体介绍.接着介绍了Android的四层架构:Linux内核:C/C++代码库:Android SDK API;应用程序.又引入Android移植,Android移植包括两部分:应用移植,系统移植.而且为硬件平台添加新的模块,必须为此模块添加一个新的驱动程序,或者修改原来的程序. 查看Linux内核版本方法: (1)L…
--Notes: 测试环境:Windows ,python 2.7.3,python 自带的IDLE #-*- coding: utf-8 -*- # First Lesson# --- Line syntax ---# The comment character is "#" ;comments are terminated by end of line.# Long lines may be continued by ending the line with a backslash…
四层linux 内核层library java 虚拟机frameworkapplication 四组件活动(activity), 服务(service), 广播接收器(broadcast receiver), 内容提供器(content provider) 设备掉线点DDMS右边下拉列表中的reset adb就可以了 关于项目目录的一些说明src    java代码的存放地方gen    这个目录是自动生成的,永远不要去修改它们asserts    随程序打包的一些文件放在此处,如果用到WEB,…
通过一章的学习体会到Git的重要性,因为想要获取开源的源代码,必须要使用Git,而且Linux内核完全是由Git管理的.Git是对源代码进行管理,在使用之前需要先安装,命令是 (1)apt-get install git-core (2)apt-get install git-doc git-svn git-email git-gui gitk 其中第二条语句是安装的git命令. Linux下提供三种方式查看文档: 1.直接使用man查看指定命令的帮助文档,查询完成后可以按q直接退出 2.以文本…
驱动开发读书笔记. 0.06  嵌入式linux视频开发之预备知识 由于毕业设计选择了嵌入式linux视频开发相关的项目,于是找了相关的资料,下面是一下预备知识 UVC : UVC,全称为:USB video class 或USB video device class.是Microsoft与另外几家设备厂商联合推出的为USB视频捕获设备定义的协议标准,目前已成为USB org标准之一. UVC linux driver: UVC linux 驱动 需要在编译内核的时候选上 配置内核 Device…
驱动开发读书笔记. 0.05 linux 2.6 platform device register 平台设备注册 2/2 共2篇 下面这段摘自 linux源码里面的文档 : 内核版本2.6.22Documentation/driver-model/platform.txt找到一篇译文:http://blog.csdn.net/yili_xie/article/details/5193609 Device Enumeration 82 ~~~~~~~~~~~~~~~~~~ 83 As a rule…
驱动开发读书笔记. 0.04  linux 2.6 platform device register 平台设备注册  1/2 共2篇下面这段摘自 linux源码里面的文档 : Documentation/driver-model/platform.txt Device Enumeration 82 ~~~~~~~~~~~~~~~~~~ 83 As a rule, platform specific (and often board-specific) setup code will 84 reg…
驱动开发读书笔记. 0.02 基于EASYARM-IMX283 怎么烧写自己裁剪的linux内核?(非所有arm9通用) 手上有一块tq2440,但是不知道什么原因,没有办法烧boot进norflash或者nandflash:只好用另一块arm9(i.mx283a)来继续学习: 从开发教程上面可知,烧写uboot和Linux是通过各种批处理脚本和exe程序来执行的,称之为固件烧写,然而并没有需要我们选择uboot路径.Linux内核和文件系统的地方.这样的话是不是意味着只能烧写官方默认提供的文件…
驱动开发读书笔记. 0.01 配置arm-linux-gcc 交叉编译器 什么是gcc: 就像windows上的VS 工具,用来编译代码,具体请自己搜索相关资料 怎么用PC机的gcc 和 arm-linux-gcc工具都是在PC上运行,有什么不一样? PC上的gcc生成的文件是给PC机执行的,arm-linux-gcc生成的文件是给arm板上的linux执行的. arm-linux-gcc 版本 :我还没搞清楚版本不用会导致什么不一样 网上的建议是使用现成的arm-linux-gcc编译器 自己…
3.9 TabSpec与TabHost TabHost类官方文档地址:http://developer.android.com/reference/android/widget/TabHost.html Android 实现tab视图有2种方法,一种是在布局页面中定义<tabhost>标签,另一种就是继承tabactivity.但是我比较喜欢第二种方式,应为如果页面比较复杂的话你的XML文件会写得比较庞大,用第二种方式XML页面相对要简洁得多. <?xml version="1…
3.7 ProgressBar ProgressBar类官方文档地址:http://developer.android.com/reference/android/widget/ProgressBar.html 在Android应用开发中,ProgressBar(运行进度条)是比较常用到的组件,例如下载进度.安装程序进度.加载资源进度显示等.在Android中提供了两种样式来分别表示在不同状态下显示的进度条,下面来实现这两种样式.默认进度条是圆形,通过style属性来指定系统进度条的大小:sty…
Android驱动开发读书笔记                                                              第五章 S5PV210是一款32位处理器,具有低功耗的的特点,可为移动设备和一般应用提高性能的微处理器解决方案.它集成了ARM CORTEX-A8核心.实现了ARM架构V7且支持外围设备.他的关键功能是“以带有NEON的cpu子系统为基础的arm”,32/32kb i/d缓存,512kb l2缓存,操作频率800hz为1.1v,1ghz为1.2…
第13章 综合技术 13.1 使用CrashHandler来获取应用的Crash信息 (1)应用发生Crash在所难免,但是如何采集crash信息以供后续开发处理这类问题呢?利用Thread类的setDefaultUncaughtExceptionHandler方法!defaultUncaughtHandler是Thread类的静态成员变量,所以如果我们将自定义的UncaughtExceptionHandler设置给Thread的话,那么当前进程内的所有线程都能使用这个UncaughtExcep…
本节和<Android群英传>中的第五章Scroll分析有关系,建议先阅读该章的总结 第3章 View的事件体系 3.1 View基本知识 (1)view的层次结构:ViewGroup也是View:(2)view的位置参数:top.left.right.bottom,分别对应View的左上角和右下角相对于父容器的横纵坐标值.从Android 3.0开始,view增加了x.y.translationX.translationY四个参数,这几个参数也是相对于父容器的坐标.x和y是左上角的坐标,而t…
No1: 客户端与服务器的交互流程: 1)客户端执行网络请求,从URL中解析出服务器的主机名 2)将服务器的主机名转换成服务器的IP地址 3)将端口号从URL中解析出来 4)建立一条从客户端与Web服务器的TCP连接 5)客户端通过输出流向服务器发送一条HTTP请求 6)服务器向客户端回送一条HTTP响应报文 7)客户端从输入流获取报文 8)客户端解析报文,关闭连接 9)客户端将结果显示在UI上 No2: HTTP请求方式: 1)GET 获取服务器中某个资源,www.devtf.cn/artic…
接上篇<android开发艺术探索>读书笔记(十二)--Bitmap的加载和Cache No1: 使用CrashHandler来获取应用的crash信息 No2: 在Android中单个dex文件所能够包含的最大方法数为,这包含Android FrameWork.依赖的jar包以及应用本身的代码中的所有方法. No3: 使用multidex来解决方法数越界 apply plugin: 'com.android.application' android { compileSdkVersion 2…
接上篇<android开发艺术探索>读书笔记(十一)--Android的线程和线程池 No1: 目前比较常用的缓存策略是LruCache和DiskLruCache,LruCache常被用作内存缓存,DiskLruCache常被用作存储设备缓存. Lru是Least Recently Used的缩写,即最近最少使用算法,当缓存快满时,会淘汰近期最少使用的缓存目标. No2: LruCache: LruCache是一个泛型类,它内部采用一个LinkedHashMap以强引用的方式存储外界的缓存对象…
接上篇<android开发艺术探索>读书笔记(十)--Android的消息机制 No1: 在Android中可以扮演线程角色的有很多,比如AsyncTask.IntentService.HandlerThread. AsyncTask底层封装了线程池和Handler,主要是为了方便开发者在子线程中更新UI. HandlerThread底层直接使用线程,是一种具有消息循环的线程,在它内部可以使用Handler. IntentService底层使用了线程,是一个服务,系统对其进行了封装使其可以更方…
接上篇<android开发艺术探索>读书笔记(六)--Drawable No1: 自定义动画:派生一种新动画只需要继承Animation这个抽象类,然后重写它的initialize和applyTransformation方法,在initialize方法中做一些初始化工作,在applyTransformation中进行相应的矩阵变换即可,很多时候需要采用Camera来简化矩阵变换的过程. No2: 属性动画PropertyAnimation   补间动画TweenAnimation   帧动画F…
接上篇<android开发艺术探索>读书笔记(五)--RemoteViews [BitmapDrawable] 简单的图片 <!xml version="1.0" encoding="utf-8"?> <bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="@[package:]drawable/draw…
接上篇<android开发艺术探索>读书笔记(二) No1: 通过MotionEvent对象可以得到点击事件发生的x和y坐标,getX/getY返回的是相对于当前View左上角的x和y坐标,而getRawX/getRawY返回的是相对于手机屏幕左上角的x和y坐标. No2: TouchSlop是系统所能识别的被认为是滑动的最小距离,这是一个常量,和设备有关,在不同设备上这个值可能是不同的,通过如下的方式可以获取这个常量 ViewConfiguration.get(getContext()).g…
接上篇<android开发艺术探索>读书笔记(一) No1: 在android中使用多进程只有一种方法,那就是给四大组件在AndroidMenifest中指定android:process属性. No2: 默认进程的进程名是包名. No3: ":"要加上当前包名,进程属于当前应用的私有进程,其他应用的组件不可以和它跑在同一个进程中:另外一种属于全局进程,其他应用通过ShareUID方式可以和它跑在同一个进程中. No4: Android系统会为每个应用分配一个唯一的UID,…
本篇文章已授权微信公众号 dasu_Android(大苏)独家发布 最近看了一本书<Android Gradle 权威指南>,对于 Gradle 理解又更深了,但不想过段时间就又忘光了,所以打算写一篇读书笔记,将书中一些我个人觉得蛮有用的点记录.总结一下. 前言 首先,先来过一下整书的目录章节,先大概清楚整本书都介绍了哪些知识点: 第 1 章 Gradle 入门 第 2 章 Groovy 基础 第 3 章 Gradle 构建脚本基础 第 4 章 Gradle 任务 第 5 章 Gradle 插…