自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 收藏
  • 关注

转载 如何立即取消Toast

Toast是最常用不过的了但是现在市面上的很多程序都没注意到一点,就是Toast的立即关闭问题Toast起到了提示作用之后该取消就要尽快取消用户不能手动取消Toast是有点烦人的其实要关闭也是非常非常简单的在工具类中加上以下代码:[java] view plain copypackage com.xmic.moman;  

2016-07-15 18:25:22 1094

转载 面试时,问哪些能试出一个Android开发者真正的水平

最近常逛知乎,本文来自我关于《面试时,问哪些问题能试出一个Android应用开发者真正的水平?》的回答这几年面过的各种Android开发也有三位数了,failed的不敢说,pass的基本都没有看走眼,来得晚了也想说说我的体会。一般面试时间短则30分钟,多则1个小时,这么点时间要全面考察一个人难度很大,需要一些技巧,这里我不局限于回答题主的问题,而是分享一下我个人关于如何做好Androi

2016-07-14 17:41:40 658

转载 成为一名更好的程序员:如何阅读源代码

阅读源代码有许多益处。你会发现新的架构(construct)和库,与其他的代码维护者产生共鸣,但最重要的是学会如何组织代码,避免因内部极其复杂而变得不可维护。但是也有一个不好的地方,那就是阅读源代码太困难了。每当我看到一个新的代码库(code base)时,这种让人眩晕的感觉就充斥了我的大脑。我的内心告诉我压根不想趟眼前这趟浑水。这是(希望是)正常的反应。当我们的大脑接触过多的新东

2016-07-14 17:13:13 405

转载 计算机从业者的技术成长学习之路

转载自:http://blog.zhaiyifan.cn/2016/04/28/about-learning/?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io?ref=myread最近因为在学习一些新的东西,所以Android的东西没有怎么更新。趁着有些闲工夫,简单说说技术上的学习,也算是自己对这几年工作来的一个小结和

2016-07-14 17:01:43 296

转载 Android App整体架构设计的思考

本文是对我在知乎一个回答的整理,其中的内容大多是对我平时的阅读和实践的总结,希望对Android的开发者有所帮助。但毕竟是个人的一些思考,难免有疏漏,也欢迎对本文的内容提出建议。1. 架构设计的目的        对程序进行架构设计的原因,归根到底是为了提高生产力。通过设计使程序模块化,做到模块内部的高聚合和模块之间的低耦合。这样做的好处是使得程序在开发的过程中,开发人员只需要专注

2016-06-03 15:36:55 352

转载 How to Install OpenJDK 8 in Ubuntu 14.04 & 12.04 LTS

OpenJDK Java 8 has been made into official Ubuntu repositories for 14.10 Utopic and higher. For Ubuntu 14.04, Ubuntu 12.04, and Linux Mint 17 users here’s how to install it from PPA.OpenJDK 8 was

2016-05-10 09:53:21 330

转载 程序员技术练级攻略

转载自:http://coolshell.cn/articles/4990.html月光博客6月12日发表了《写给新手程序员的一封信》,翻译自《An open letter to those who want to start programming》,我的朋友(他在本站的id是Mailper)告诉我,他希望在酷壳上看到一篇更具操作性的文章。因为他也是喜欢编程和技术的家伙,于是,我让他

2016-05-09 12:46:24 251

转载 关于android性能,内存优化

转自(http://www.starming.com/index.php?action=plugin&v=wave&tpl=union&ac=viewgrouppost&gid=74&tid=20713&pg=1)  随着技术的发展,智能手机硬件配置越来越高,可是它和现在的PC相比,其运算能力,续航能力,存储空间等都还是受到很大的限制,同时用户对手机的体验要 求远远高于PC的桌面应用程序。以上

2016-05-09 12:39:40 631

转载 开发团队的效率

转载自: http://coolshell.cn/articles/11656.html我之前写过一篇叫《加班与效率》的文章,从概念上说了一些我对“效率”的认识,但是那篇文章趋于概念化,对于一些没有经历过这样的环境的同学来说,可能会觉得太抽象了。很早以前就想写一篇更具体一点的,可执行的文章与《加班与效率》这篇文章相辉映,并再把我两年前在杭州QCon上的那个“鼓吹工程师文化”的《建一支强大的

2016-05-09 12:36:02 199

转载 布局优化利器<include/>和ViewStub

转载自:http://blog.csdn.net/manoel/article/details/39036507本文翻译自《50 Android hacks》当创建复杂的布局的时候,有时候会发现添加了很多的ViewGroup和View。随之而来的问题是View树的层次越来越深,应用也变的越来越慢,因为UI渲染是非常耗时的。这时候就应该进行布局优化了。这里介绍

2016-05-09 12:30:25 244

转载 其实Unix很简单

很多编程的朋友都在网上问我这样的几个问题,Unix怎么学?Unix怎么这么难?如何才能学好?并且让我给他们一些学好Unix的经验。在绝大多数时候,我发现问这些问题的朋友都有两个特点:1)对Unix有畏难心理,对其没有信心; 2)喜欢用拿Windows来和Unix做比较。这两种特点就像两个“心理暗示”,暗示着自己Unix很不好学,暗示着Unix很糟糕,不如Windows好。于是,自己也就被自己的这

2016-05-09 11:55:14 267

原创 android studio从布局文件中提取style

首先在布局文件中正常编写View的属性,然后点击右键打开菜单,依次选择Refactor -> Extract -> Style,如图所示:命名就可以了:

2016-02-15 21:20:37 335

原创 NDK初识

一、 NDK目录结构build ./core XXX.mk 指导工程编译的配置文件docs 开发文档platforms\android-18\arch-arm\usr\ lib库文件 include头文件 prebuilt make.exe 工程管理器samples 开发的例子toolchains 工具链 ndk-build.cmd 谷歌包装过的make工具二、 jni

2015-11-22 00:06:03 312

原创 JNI基本概念

一、简介java是跨平台,C与平台有关,但是C与底层交互性能好Java Native Interface:Java本地接口,实现java和本地语言c/C++相互调用二、为什么需要jniC/C++作为本地语言,效率有保证,所以应用场景有如下方面: 1. 操作底层硬件,android设备上的传感器,距离传感器 2. 应用程序要求效率高,图形渲染,音视频解码 3. 应用程序要求比较高,金融相关

2015-11-21 23:13:07 455

原创 C语言基础(三)

一、内存管理C语言中堆内存的申请要用malloc和free两个方法,下面是内存图 int g_value = 0;//全局变量int main() { static int i = 0;//静态局部变量 { int a = 10;//局部变量 } int b = a; return 0;}二、堆区内存malloc和free对于堆内存的申请与

2015-11-21 23:09:09 280

原创 C语言基础(二)

void指针结构体联合体枚举函数及其指针typeof一、结构体C语言中的结构体与java中的对象很像。结构体中每一个变量分配不同的内在空间,所以结构体所占内存的大小是变量类型叠加和。它有三种定义方式1.标准定义struct Student{// struct 结构体名 : 结构体类型 char name[20]; int id; int age; f

2015-11-21 23:07:54 394

原创 C语言基础(一)

java与C的简单比较基本数据类型指针及内存结构数组 字符串Pre:Hello world#include<stdio.h>int main(){ printf("Hello C World,I\'m coming."); return 0;} 一、java与C的简单比较Android是基于Linux内核的,Linux是用C写的,所以C才是最根本的。而且,java虽说跨

2015-11-21 23:03:03 277

原创 eclipse开发快捷键

一、代码操作ctrl+2,L:为本地变量赋值 开发过程中,我常常先编写方法,如Calendar.getInstance(),然后通过ctrl+2快捷键将方法的计算结果赋值于一个本地变量之上。 这样我节省了输入类名,变量名以及导入声明的时间。Ctrl+F的效果类似,不过效果是把方法的计算结果赋值于类中的域。二、编辑等操作Ctrl+D 删除当前行。Ctrl+Q 跳到最后一次的

2015-11-21 22:50:30 284

原创 Android动画技术

一、概述动画是动态变化的效果,可以分为两类帧动画(又称图像动画) 帧动画的原理是drawable中放几张不同的图像,图像不断切换(放电影一样),产生动态动画的效果。补间动画(又称View动画) 对一张动画进行操作,让动画形成运动的轨迹。但是,实际上,图片的位置是初始位置,不会变的属性动画 其实是补间动画发展来的,用了面向对象的思想,把动画用到的属性进行封装(类似于javaBean,暴露g

2015-10-30 22:25:41 381

原创 Fragement

一、概述Fragment是Android honeycomb 3.0新增的概念 1. 手机屏幕越来越大,有的内容一个小手机屏幕就能显示完全,而对于一个大的手机屏幕,就浪费了, fragment,帧,片段,是Activity的一部分 2. 布局文件中,开始标签大写开头表示是一个View对象,小写表示是一个类型像fragment 3. 布局文件中用name属性,将要显示的Fragment类指定,

2015-10-30 22:22:57 571

原创 Android多媒体—视频技术

一、概述视频的播放有两种方法:VideoView 安卓封装好的,直接用SurfaceView 这个比较灵活,是VideoView的父类,当中可以放视频,也可以放图片,最最重要的是,它可以在子线程中更新UI(还有一个是ProgressBar,Android中只有这两个控件比较刁) 继承关系如下: 二、SurfaceViewsurfaceView是一个比较厉害的控件,可以在子线程里面更新UI ,并

2015-10-28 22:14:39 333

原创 Android相机使用

相机使用步骤清单文件中加权限<uses-permission android:name="android.permission.CAMERA" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> Activity的权限 ImageView iv ; File file

2015-10-28 22:12:12 224

原创 Android传感器

一、概述传感器(英文名称:sensor)是一种检测装置,能感受到被测量的信息,并能将感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求。Android的手机中有很多传感器可以运用,大致的例举一下,有如下的:define SENSOR_TYPE_ACCELEROMETER 1 //加速度define SENSOR_T

2015-10-28 22:10:10 257

原创 Android多媒体—音频技术

一、概述视频和音乐的操作思想其实都是差不多的。其中音乐的API图已经概括了MedialPlayer的使用步骤,有两个分支需要关注: * 本地音乐,可以直接 setDataSource–prepare—start * 网络音乐,考虑到ANR,放到子线程中 setDataSource–prepareAsync–setOnPreparedListener(在其中的onPrepared方法中设置开始)–

2015-10-28 22:08:05 256

原创 Android多媒体—图片技术

一、概述安卓中的图片处理和java基础中的GUI,思路都是一致的。 android里面显示图像的时候,使用的是32位的手法去表示的。argb – 透明 : 8位 , 红色8位 , 绿色:8为 , 蓝色:8位24位的位图代表的是每个像素点有3个字节的长度,32位的位图,就应该是4个字节的长度二、图片的操作步骤//得到控件pre = (ImageView) findViewById(R.

2015-10-28 22:06:05 220

原创 电话联系人的读取

一、概述使用内容提供者读取电话联系人是安卓开发中很常见的动作。像手机杀毒软件、QQ、手机备份助手,都会去拿手机中的电话联系人和短信。其中,要Android中导出联系人db,contacts2.db结构如下: contacts2.db分为普通db表和view视图表,view表是多表联合后的。一般我们用联系人,主要只用三张表,如下: 二、读取联系人/** * 这里面封装的是得到联系人Contact

2015-10-28 00:35:46 500

原创 通知——Notification

一、界面提醒概述界面交互,在用户体验设计中是很重要的一环。在Android界面提醒有如下三种方式:ToastDialognotification -通知二、Notification概述通知是运行在一个叫做 com.android.systemui的进程里面。通知要使用过程中分高版本(16版本以上)、低版本(16版本以下),两个版本有不同实现。其中高版本兼容低版本。高版本//下面要求是11

2015-10-27 00:20:09 291

原创 四大组件(四)—content provider

一、概述Content Provider相当于是程序与程序之间的接口。让原本不可能通信的程序,通过内容提供者这个桥梁变得可以通信。应用程序默认创建的数据库文件只有自己才能访问,其他的应用程序是不具备读写权限的。把自己应用程序的数据库文件(内容)暴露出来,给其他应用程序访问。 与AIDL不太一样,内容提供者暴露的是磁盘中的数据, aidl暴露的是内存中的数据。二、使用条件一般来说,我们只使用An

2015-10-27 00:03:59 303

原创 接口回调

一、概述又是一个高大上的名字,很装X,不过整体的思想结构还是不错的。总之,就是用规则逃避规则。 接口回调很大程序上是解决子线程不能返回数据的问题。假如有两个类MainActivity、HttpUtils,一个接口CallBack,接口回调是如下流程的: 1.MainActivity中执行一个HttpUtils中的一个方法:HttpUtils.getData(path , new Callback

2015-10-22 21:12:19 322

原创 安卓下的多线程

一、概述java下的多线程其实就是对RandomAccessFile类的应用,事实上就是一个很纯粹、很基础的java程序。RandomAccessFile最变态的是它可以对文件进行读写。java的多线程,其实就是学习RandomAccessFile这个类。二、RandomAccessFile类此类的实例支持对随机访问文件的读取和写入。随机访问文件的行为类似存储在文件系统中的一个大型 byte 数组。

2015-10-22 21:10:09 334

原创 安卓下的网络编程

一、概述安卓下的网络编程和javaweb中并没有很大的差别,还就是向服务器发请求,服务器返回响应。安卓下的网络编程指的是客户端向服务器请求数据。网络编程一般的尿性如下:向服务器发出请求GET方式在地址栏放数据POST方式通过相应对象设置键值,再发送服务器根据请求,运算后返回结果客户端根据服务器返回的状态、结果再次处理输入输出流读啊读过程中注意中文乱码问题安卓中有一点值的注意的是:向服务

2015-10-22 21:08:28 401

原创 JSON解析数据

JSON的优势在于它的体积理小,在网络上进行传输时,可以节省流量。虽然语义较差,但是对于只给程序员看的数据来说,这个缺点不用考虑。一、使用JSONObjectJSON数据用JSONObject类来解析逻辑比较简单,用String建立对象,然后用这对象取值就行了,不同的类型,用不同的参数接着就可以了,和XML一样,一层一层解析进去就可以了。getJSONObject(“data”),去接住一个jso

2015-10-22 00:20:00 450

原创 四大组件(一)——Activity

活动是一种可以包含用户界面的组件,用于和用户进行交互。一个应用程序可以包含一个或多个活动。活动的主要内容有:活动的连接桥梁—Intent活动的生命周期活动的启动模式调试程序时活动的应用一、活动的连接桥梁—Intent1.Intent的使用方式显式:在清单文件中注册<activity android:name="com.itheima.intent.Activity02"

2015-10-21 20:05:06 372

原创 中文乱码问题

一、概述出现乱码是非常简单的一件事,就是服务器和客户端没有用同一种解码和编码方式导致的。这里密切关注:myeclipse下的服务器默认的解码方式是iso8859-1,所以不管客户端提交的是什么编码形式的,就必需要经过解码。二、服务器返回数据出现乱码(两个办法)方法一、服务器端指定某一种编码类型,来返回数据response.getOutputStream().write("登陆失败".getBytes

2015-10-21 19:40:24 608

原创 Android上下文-Context

自己第一个程序开始,我们不断使用上下文这个概念,但是它到底是什么?有什么作用?还是很模糊的,只知道很多方法中必须要传入当前对象的上下文才行。一、上下文的概念应用程序运行所依赖的环境,和javaweb中的context一样,指的是一个活动或整个项目的所有信息(不同的上下文,有不同的代表)二、上下文的作用拿到上下文后可以很容易得到:resouce文件夹assets文件夹应用程序的包名其它信息三

2015-10-17 18:23:10 343

原创 Android中数据的存储方式(二)—SQLite数据库

程序中很重要的一部分是数据的交换,而交换中很重要一点是如何实现数据的存储。根据数据的作用,选择不同的保存方式和使用权限。Android数据的存储有如下6种:保存数据到应用 程序私有的文件夹下保存到公共的sd卡上sharedpreferences保存使用xml文件去保存使用数据库保存内容提供者(Content provider)一、概述sqlite较其它android数据保存方式,sql

2015-10-17 11:32:27 321

原创 Android第一个程序

一、工程目录二、程序开发Android的开发是活动为基础的,理论上任何一个应用都是要用活动,活动即包含用户界面的组件。1.简述的android开发步骤layout写ui布局src下写java代码 查找关心的控件写点击事件,获取数据编译运行查看结果2.Android的详细开发步骤创建一个空白项目 src中创建包,并重写oncreate方法 创建一个布局 在清单文件AndroidManif

2015-10-14 22:36:38 274

原创 Android之UI布局

一、概述UI布局需要安卓程序员完成,目前在用的有4个布局(还有一个绝对布局已被放弃使用了),按使用频率由大到小排列如下:1. 线性布局<LinearLayout></LinearLayout> 默认是vertical(垂直的),如果是水平的,当组件过多,不会自动换行,太多组件会显示不出来全部的2. 相对布局<RelativeLayout></RelativeLayout>3. 帧布局<FrameL

2015-10-14 20:42:42 354

原创 Android中数据的存储方式(一)

程序中很重要的一部分是数据的交换,而交换中很重要一点是如何实现数据的存储。根据数据的作用,选择不同的保存方式和使用权限。一、保存数据到应用 程序私有的文件夹下路径写this.getFilesDir();对应/data/data/com.sky.qqlogin/files this.getCacheDir(); 对应/data/data/com.sky.qqlogin/cach

2015-10-14 19:44:46 257

原创 安卓概述及开发环境

一、概述1.发展史2005年Google注资收购,并于2007年11月5日正式向外界展示了这款名为Android的操作系统,同时组建了一个开放手机联盟组织,该组织由34家手机制造商、软件开发商、电信运营商以及芯片制造商共同组成,他们将共同开发Android系统的开放源代码。随后逐渐扩展到平板电脑及其他领域上。2.版本信息Android的版本名称从1.5版本后,就以“小吃”来命名。1.0 Astro(

2015-10-14 18:52:49 441

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除