自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (2)
  • 收藏
  • 关注

原创 18、数据存储_01前言(这种东西最难写了)

今天是周六,有点累,外面还在下雨,不想去加班,在家写点东西。前面写了不少关于UI的东西,这会来点数据库的干货。文笔不好,不要介意,我也是菜鸟,难免会出错,如果大神看到错误的,帮忙指出来,十分感谢。我们都知道Android有五种数据存数数据存储方式,分别是Sqlite数据库,文件存储,SharedPreferences方式存储,ContentProvider存储,网络存储。Sqlite数据库是Goog

2016-01-16 17:15:08 319

原创 17、UI_05PopupWindow的用法你知道吗?

一、前言:PopupWindow是一种弹出框,里面可以填充各种View,与AlertDialog类似。PopupWindow依附于View,AlertDialog依附于Activity。二、微信公众号:关注微信公众号,获取密码,了解更多。微信公众号:jike_android三、效果图:四、关键代码:1、顶部弹出动画,使用ObjectAnimator : view.setTranslat

2016-01-16 16:12:33 289

原创 16、UI_04沉浸式状态栏

一、概念:沉浸式状态栏”准确来说应该是“透明栏”,英文名“Translucent Bars”,是Android 4.4 新定义的设计规范。简单来说就是在软件打开的时候通知栏和软件顶部颜色融为一体,这样可以使软件和系统本身更加融为一体,同时通知栏的颜色不再是白色、黑色简单的两种了。二、微信公众号:关注微信公众号,了解更多。微信公众号:jike_android三、效果图:四、关键代码: priva

2016-01-16 16:08:48 383

原创 15、UI_03有趣的列表标签

一、功能:1、按姓氏首字母将列表分组。2、滑动时,分组标签的重绘。二、微信公众号:关注微信公众号,获取密码,了解更多。 微信公众号:jike_android三、效果图:四、实现:1. 数据的获取:实际项目中,需要得到所有联系人的姓的首字母,然后进行分段,得到所有的标签。我这边并没有做数据库,只是模拟了数据。 int length = Constant.LAST_NAME.length

2016-01-16 16:02:30 477

原创 14、UI_02拨号盘动画

拨号盘动画最近看到拨号盘的变形动画比较有意思,所以自己动手试试。一、需要考虑的问题:1、拨号盘可能会有单卡机型,双卡机型,还会有视频通话,多人会话等。要考虑到全部都兼容的情况。2、用图片背景变形,有阴影效果的话,图片位置需要微调。(比较繁琐,自己调)3、用颜色做背景,颜色渐变,圆角。4、局部动画与整体动画。二、好啦不多说,直接上代码:变形动画: //step1 Valu

2016-01-09 00:10:48 624

原创 13、提升Android UI流畅度的建议

在一个Android应用程序中,UI是与用户直接面对面交互的,UI的流畅度,直接影响了用户体验。一、布局文件的优化1、减少布局的层次很多时候,实现一个界面有很多种方式,我们应该就可能的减少布局的层次,不要一味地嵌套再嵌套。可以通过HierarchyViewer工具来查看布局层次。2、尽量用TextView代替ImageView按钮在布局中是最常见使用的控件,我们可以用Button,ImageButt

2015-12-19 14:50:21 608 1

原创 3、GIT实用教程

1、什么是GITGit是分布式版本控制系统,通俗的说就是用来管理代码的。在工作过,经常遇到,在开发一个需求的时候,突然有一个紧急的BUG需要处理。这个时候我们要先放下手头的工作,保存代码,去处理BUG。GIT可以通过建立不同分支,来做不同的事而不干扰,保存修改记录供以后查找。很好用的工具:TortoiseGit(乌龟Git)2、安装GITmsysgit是Windows版的Git,从http://ms

2015-12-19 00:02:23 520

原创 11、提升Android性能的建议

1、Activity 泄漏我们第一个需要修复的问题就是Activity 泄漏,我们先来看看内存泄漏是怎么发生的。 Activity 泄漏通常是内存泄漏的一种。为什么会泄漏呢?如果你持有一个未使用的 Activity 的引用,其实也就持有了Activity 的布局,自然也就包含了所有的View。最棘手的是持有静态引用。别忘了,Activity 和 Fragment 都有自己的生命周期。一旦我们持有了静

2015-12-18 22:27:27 345

原创 10、Android内存优化

1、为什么要优化内存?因为内存资源不够用,UI不流畅。2、内存优化的价值?解决OOM 导致UI不流畅。3、优化内存的工具?DDMS: Heap Allocation Tracker MAT: Leak Suspect Top Consumers Debug4、内存测试的节奏编译代码 选定测试场景 测试场景转化为用例 跑起工具Run用例 结合代码,

2015-12-18 22:06:24 209

原创 9、实现自定义AsyncTask

一、自定义AsyncTask。package com.example.asynctask;import java.util.ArrayDeque;import java.util.concurrent.BlockingQueue;import java.util.concurrent.Callable;import java.util.concurrent.CancellationExcept

2015-12-18 22:02:32 311

原创 8、深入理解Looper、Handler、Message

1、Looper。Looper用来给一个线程加一个消息队列(MessageQueue),然后循环从这个消息队列读取Message消息。Looper的主要方法:public static prepare();public static myLooper();public static loop();public void quit();Looper的使用过程:(a)Looper.prepar

2015-12-18 21:56:15 329

原创 7、Android多线程与线程池

一、实现线程的方式有两种:(a)继承Thread类。(b)实现Runable接口。二、多线程的好处。可以把一些耗时的操作,如数据库读写,网络下载与UI线程分开,不阻塞UI线程而导致界面卡顿。三、如何实现多线程。(a)Activity.runOnUiThread(Runnable)(b)View.post(Runnable),View.postDelayed(Runnable, long)(c)Han

2015-12-18 21:38:48 200

原创 6、android单例模式下使用观察者模式

定义对象间的一种一个(Subject)对多(Observer)的依赖关系,当一个对象的状态发送改变时,所以依赖于它的对象都得到通知并被自动更新使用方法:1、定义一个接口,用来通知观察者。public interface IObserverAdapter { void update();}2、定义一个类,增加,移除观察者和向观察者们发出通知。public class Subject {

2015-12-17 22:24:59 295

原创 5、Sqlite数据库升级

一、背景在Android应用中,UI,网络,数据库是最重要的模块。数据库的设计也十分重要,扩展性,易用性都要考虑。随着应用的升级,原有的数据库不能满足新的需求,增加字段,增加表的情况经常出现。二、两个方法:public void onCreate(SQLiteDatabase db)public void onUpgrade(SQLiteDatabase db, int oldVersion, i

2015-12-17 22:19:02 328

原创 4、快速实现自定义View

通常来说,自定义View有三种表现形式:自绘View,组合控件,继承控件。一、自绘View 自绘View,顾名思义,就是为了实现一个效果,但是Google没有提供现成的控件,这个时候,我们可以通过自绘View绘制出想要的View。1、定义控件属性我们需要在Values文件夹下新建attrs.xml文件,用来定义控件的属性。 <?xml version="1.0" encoding="UT

2015-12-17 22:04:49 307

原创 2、Android四大基本组件

Android四大基本组件是:Activity,Service,ContentProvider,BroadCastReceiver。1、Activity。(1)一个Activity通常就是一个单独的屏幕(窗口)。 (2)Activity之间通过Intent进行通信。 (3)android应用中每一个Activity都必须要在AndroidManifest.xml配置文件中声明,否则系统将不识别也

2015-12-17 21:38:11 367

原创 1、Android代码命名规范

好的命名规范可以极大地提高代码的阅读效率。很多时候阅读或者修改别人的代码,在某个类中查找一个方法,可以使用Ctrl+O根据方法名,快速查找。规范:一、包的命名: 通常使用反域名。 例如:com.android.mms二、类的命名:单词首字母大写。 类的命名最好是用相关的英语单词,让人一眼就能看懂这个类的用途。 例如:TestPage三、方法的命名:单词首字母小写,字母开头大写。 例如:dr

2015-12-17 21:27:22 405

原创 12、UI_01Android中ListView切换批量模式动画效果

Android中ListView切换批量模式动画效果一、背景很多时候,对于ListView需要切换批量操作模式,通常进入批量模式的方式有:长按列表和菜单方式。于是封装了一个ListView的批量操作的Demo。二、效果CheckBox显示和隐藏动画封装一个顶部栏TopBar,并且实现批量操作的切换动画封装一个底部菜单,实现显示和隐藏动画。三、实现定义接口TopBar与BottomBar。

2015-12-16 22:29:44 343

仿win8界面的简单编程

仿win8的UI在安卓上的简单实现。可以往里面自行加东西

2013-06-14

Android调用谷歌STMP发送邮件

调用谷歌STMP后台发送邮件,实现不调用系统Gmail来发送邮件的功能

2013-06-13

空空如也

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

TA关注的人

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