`
peizhiinfo
  • 浏览: 1427437 次
文章分类
社区版块
存档分类
最新评论

你的Android,我的Android

 
阅读更多

前言,写这篇文章的目的是最近开发Android的时候,有一些心得,但是平时都没有记录下来,后来又遇到相似的问题,还要去查资料,麻烦,所以就写这篇文章,不定时更新Android方面的一些东西(主要偏向于小技巧,在网上一下子比较难查到的那种),看到文章的朋友,希望你把你总结的小技巧也留下来,我会编入文中,分享知识,也是一种快乐。

---------------------------------------------------无耻的分割线---------------------------------------------------------

一:离线配置Android开发环境,我已经配置了很多次Android开发环境了,发现这种方式是最方便,最稳定的。文章链接:http://blog.csdn.net/coding_or_coded/article/details/6841518

二:Android项目SDK版本的更换,这个问题是这样的,比如你开始建了一个项目,是基于sdk1.6的,但是后来你想更换版本,网上一些人的处理方式是重新建一个项目,然后copy原来项目的文件进去,这种方式太麻烦。比较方便的做法是直接修改项目中的default.properties文件,把里面的target=android-8换为你需要的sdk版本,系统就会自动帮你完成版本的转换,在调用模拟器的时候,可能还需要修改AndroidManifest.xml中的


视自己情况而定。

三:根据不同的状态,改变按钮的背景图片。在传统的web开发中,一般情况下,当我们的鼠标滑过一个url链接,点击一个url的时候,url的颜色等状态都会发生改变,这是程序员为了给用户更好的用户体验而设计的,在android也有同样的接口。下面以按钮为例,正常情况下,如果我们的应用做的烂的话,就直接给按钮一个背景图片,那么,在按钮聚焦,或者我们点击按钮的时候,用户看不到任何的反馈。改变这种烂的用户体验就是通过按钮状态来改变按钮的外观,下面是一种实现方式。

1.为按钮选择背景

但是注意,这里的welcome_botton不是一个图片,而是一个xml文件,而这个xml文件就充当了多个图片的选择器,在按钮不同状态的时候,xml文件中对应的图片就会被选择。

2.编写welcome_botton:

补充:上面的代码实现了简单的效果,如果需要更加复杂的,可以通过组合属性来完成,常用的属性有下面几个:state_pressed,state_checked,state_pressed,state_selected,state_focused,state_enabled。另外,这篇文章也不错:http://mobile.51cto.com/android-266469.htm

四:android:gravity和android:layout_gravity的区别

android:gravity属性是对该view 内容的限定.比如一个button 上面的text. 你可以设置该text 在view的靠左,靠右等位置.该属性就干了这个.

android:layout_gravity是用来设置该view相对与起父view 的位置.比如一个button 在linearlayout里,你想把该button放在靠左,靠右等位置就可以通过该属性设置.这里名字其实也就说的比较清楚了,layout,布局的吗!

五:Service

Service是android 系统中的一种组件,它跟Activity的级别差不多,但是他不能自己运行,只能后台运行,并且可以和其他组件进行交互。Service的启动有两种方式:context.startService() 和 context.bindService()。

使用context.startService() 启动Service时会经历:context.startService() ->onCreate()- >onStart()->Service running,关闭时会经历context.stopService() | ->onDestroy() ->Service stop

如果Service还没有运行,则android先调用onCreate()然后调用onStart();如果Service已经运行,则只调用onStart(),所以一个Service的onStart方法可能会重复调用多次。stopService的时候直接onDestroy,如果是调用者自己直接退出而没有调用stopService的话,Service会一直在后台运行。该Service的调用者再启动起来后可以通过stopService关闭Service。

使用使用context.bindService()启动Service会经历:ontext.bindService()->onCreate()->onBind()->Service running,关闭时:onUnbind() -> onDestroy() ->Service stop
。onBind将返回给客户端一个IBind接口实例,IBind允许客户端回调服务的方法,比如得到Service运行的状态或其他操作。这个时候把调用者(Context,例如Activity)会和Service绑定在一起,Context退出了,Srevice就会调用onUnbind->onDestroy相应退出。

在Service每一次的开启关闭过程中,只有onStart可被多次调用(通过多次startService调用),其他onCreate,onBind,onUnbind,onDestory在一个生命周期中只能被调用一次。

目前就只想得到这几个了,本博客会不断更新。

分享到:
评论

相关推荐

    Android框架揭秘.pdf

    《Android框架揭秘》通过对Android系统源代码的分析,主要介绍Android框架的初始化过程及主要组件的工作原理。作者直接分析和整理了Android框架的主要源代码,并详细讲解了理解框架工作原理所需的各种基础知识和构成...

    Android串口通信(Android Studio)

    Android串口通信(Android Studio) serial Port 简单的demo 好久之前整的

    android应用开发范例精解

    第2篇为应用开发篇,通过实例介绍了Android UI布局、Android人机界面、手机硬件设备的使用、Android本地存储系统、Android中的数据库、多线程设计、Android传感器、Android游戏开发基础、Android与Internet,以及...

    Android BLE蓝牙例子(包括android版Lightblue)实例源码

    不过Android_Lightblue.apk在android5.0以上的版本手机上运行不起来,我也没有该app的源码。看看后面会不会有更新。对应博客地址:http://blog.csdn.net/chenliqiang12345678/article/details/50504406

    Android 7.1.1 (API 25) SDK Platform 下载

    # mv /opt/android-sdk/platforms/android-25/android-7.1.1/* /opt/android-sdk/platforms/android-25/ # rm -rf /opt/android-sdk/platforms/android-25/android-7.1.1 官网下载地址:...

    Android组件设计思想

    Android应用开发的哲学是把一切都看作是组件。把应用程序组件化的好处是降低模块间的耦合性,同时提高模块的复用性。Android的组件设计思想与传统的组件设计思想最大的区别在于,前者不依赖于进程。也就是说,进程...

    Android Studio实战 快速、高效地构建Android应用

    有了这本书,你将快速掌握Android Studio并最大化Android开发时间。远程Web服务上的源代码均面向最新的Android Studio发行版——1.2版。 主要内容 ● 如何开始使用Android Studio IDE ● 如何导航及使用Android ...

    android source 2.2(android-8)

    比如我android.jar所在目录为 D:\android-sdk-windows\platforms\android-8,在这个目录下新建文件夹sources, 将源码放入其中即可,打开eclipse后,ADT会自动关联到源码 3.在eclipse中ctrl+单击就打开源码

    Android 8.0.0 (API 26) SDK Platform

    使用: export ANDROID_HOME="/opt/android-...# mv /opt/android-sdk/platforms/android-8.0.0 /opt/android-sdk/platforms/android-26 官网下载地址:https://dl.google.com/android/repository/platform-26_r01.zip

    Android扫雷游戏(基于Android Studio)

    基于Android平台的扫雷小游戏,使用Android Studio开发,附有简单注释,适用于初步掌握Android技术的程序猿们!

    Android support.v7包

    Android support.v7包

    android Gridview分页实现

    android Gridview分页实现的一个小例子

    JS调用Android方法,向Android方法传递json数据

    JavaScript调用Android方法,向Android方法传递json数据。

    Android40个经典源码

    1 Android PDF 阅读器源码 2 Android Txt文本阅读器源码 3 Android SqliteManager 源码 4 Android 个人记账程序源码 5 android 多点触控实例源码 6 android 画图程序 7 Android 手电筒源码 8 Android 天气预报加...

    Android 平板电脑应用开发入门经典

    在构建一些有助于你开发自己的Android平板应用的示例平板项目后,你会迅速掌握Android 3。 主要内容 ◆ 构建通用的Android UI,使用Fragment动态组装活动 ◆ 使用Action Bar条目展现常用功能 ◆ 检查Android用户界面...

    android studio 4.2.2 免安装解压版

    android studio 4.2.2 免安装解压版

    Android sdk 各版本离线安装包下载地址及方法(解决更新慢)

    第一步:到ANDROID官方下载SDK(各版本都可以),安装,记下安装路径:比如我的安装到:E:\JAVA\Android\android-studio\sdk\ 第二步:运行SDK Manager.exe 会生成temp的文件夹,(有同学找不到SDK Manager.exe,或...

    WebRTC的Android实现 源码下载 包括服务器,pc端,android端

    WebRTC的Android实现:包括服务器,pc端,android端

    Android开发之旅 完整版pdf

    • Android 开发之旅:android架构 • Android 开发之旅:应用程序基础及组件 • Android 开发之旅:应用程序基础及组件(续) • Android 开发之旅:活动与任务 • Android 开发之旅:进程与线程 • Android ...

    android抽屉菜单 android panel

    android抽屉菜单 android panel 随便写的demo http://blog.csdn.net/zabio/article/details/22812903

Global site tag (gtag.js) - Google Analytics