
安卓整理
智能座舱搬砖工
成事在人,休言万般皆是命;境由心造,退后一步自然宽!
展开
-
Android实现APP内悬浮框效果
2020年上班第一篇:实现在APP内悬浮框效果。可以打开,可以关闭,可以拖动,当然可以实现悬浮框点击事件。直接上代码:主界面public class FloatingActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { ...原创 2020-01-02 17:41:00 · 3319 阅读 · 3 评论 -
android本地数据操作
在安卓开发中,不操作数据库的情况几乎是不可能的!一般情况下我们是在启动应用后,会在本地建立数据名(DATABASE_NAME)为XX数据库,然后在需要用的时候进行增删改查操作。但有时候,我们也可能不会这样进行操作,我们会先把建立好的数据库放在项目的本地文件夹(如res/raw,assert)下面,然后再对数据库进行操作。这种方案也有一定的好处,就是我们先可以用数据库工具建立好数据表,然后直接在代码原创 2015-01-23 16:02:17 · 1058 阅读 · 0 评论 -
android中文件操作
android开发中涉及到的文件操作主要是往sd卡中或是内在中读取文件数据,大概的操作如下:public class FileOperator { private Context context; //上下文 public FileOperator(Context c) { this.context = c; }原创 2015-01-27 11:36:04 · 573 阅读 · 0 评论 -
android开发中常用屏幕单位转换
public class DisplayTool { //要根据实际情况获取到上下文Context,也可以在方法中加入context作为参数 private static final float density = context.getResources().getDisplayMetrics().density; private static final float原创 2015-01-23 13:59:43 · 586 阅读 · 0 评论 -
android开发中apk安装包常用工具
开发项目中用到的有关获取apk信息的工具类,在做版本升级的时候一般都需要用到部分方法,做点笔记:public class AppUtil { /** *根据应用包名(package name)启动应用 *参数分别是上下文context和应用包名:pkgName */ public static原创 2015-01-23 13:49:13 · 885 阅读 · 0 评论 -
Android中SQLite数据操作
做安卓开发离不开数据库操作,尽管现在有越来越多的orm框架使用,我们可以尽可能少的写sql语句,但是学习好最基本的SQLite数据操作也是必须的,下面根据自己之前学习做了个简单的总结,写得不好,请大家多多指教,深表感谢!1. 概述SQLite 为嵌入式系统上的一个开源数据库管理系统,它支持标准的关系型数据库查询语句SQL 语法,支持事务(Transaction) 操作 。而且SQLite原创 2015-01-28 17:09:39 · 1174 阅读 · 0 评论 -
android中的四种INTENT_FLAG
先首先简单介绍下Task和Activity的关系我们知道在android项目中有这样一个容器:Task(栈)。而里面装的东西则是我写的Activity,第一个(A extends Activity)则会处于Task的最下面,而最后添加(Z extends Activity)在Task的最上面。从Task中取出的时候则是从最顶端开始取出,最先取出的是最后添加的Z,最后取出的是原创 2015-02-04 16:28:34 · 778 阅读 · 0 评论 -
AndroidEventBus及使用介绍
越来越多的项目开发中使用到EventBus这个框架,那什么是EventBus呢?用github开源文档上的介绍就是:一个Android平台的事件总线框架, 它简化了Activity、Fragment、Service等组件之间的交互,很大程度上降低了它们之间的耦合,使得我们的代码更加简洁,耦合性更低,提升我们的代码质量。开发中我们都知道,很多时候要在Activty与Activty间,Ac原创 2015-02-04 19:30:03 · 1117 阅读 · 0 评论 -
android控件相对位置及长度单位
首先讲讲界面布局中的几位置设置参数区别,从下面一个简单的图形来做年对比,A代表我们布局页面中一个ViewGroup,比如是LinearLayout,B代码一个View,比如是Button.android:layout_gravity:此控件相对父控件的相对位置(B相对于A的位置)android:gravity:此控件中的内容相对此控件的相对位置(B中的文字"TextView"在B中原创 2015-02-05 15:11:49 · 1784 阅读 · 0 评论 -
你不得不用的APP应用UI效果
做项目时为了一些特定效果的UI伤透了心,不断地在各大网站搜寻,终于发现了一个UI特效齐全的开源框架,看了后只能用两个字来形容“震撼”,效果是相当齐全,我就不信没有你用不到的。内容太多就不复制了,去github地址:https://github.com/wasabeef/awesome-android-ui。原创 2015-02-06 16:48:49 · 988 阅读 · 0 评论 -
Android中打开网络设置界面
我们做开发的都知道,由于Android的SDK版本不同(尤其在Android 3.0 及后面)的版本中,UI及显示方式都发生了比较大的变化,打开网络设置为例,代码如下:1,我们判断网络是否打开: public static boolean isConnectNet(Context context){ boolean bisConnFlag=false;原创 2015-02-26 14:05:39 · 2915 阅读 · 0 评论 -
android获取当前手机设备信息工具类
public class DeviceTool { /** * 获取当前设置的电话号码 */ public static String getNativePhoneNumber(Context context) { String nativePhoneNumber = ""; try { Te原创 2015-01-21 14:14:28 · 2923 阅读 · 0 评论 -
android开发工具类,不怕用不到,就怕用时找不到
前几天项目刚上线不久,现在有点闲时间,把开发中用到的常用工具整理下,当作笔记。同大家分享,如果能帮到大家,深感荣幸。public final class SystemTool { /** * 指定格式返回当前系统时间 */ public static String getDataTime(String format) {原创 2015-01-21 14:30:21 · 1154 阅读 · 0 评论 -
Acitivity在singleTask加载模式下的数据传递处理
在Android开发中,我们通常要在不同页面之间传递数据,比如要从ActivityA启动ActivityB并传递数据到ActivityB里面,这个很简单,用Intetn加Bundle就可以了。不过有时候如果您需要让后台运行的Activity回到前台并传递数据就有些问题。 通常,我们通过Intent启到Activity的时候,就算存在一个相同的正在运行的Activity,系统都会创建一原创 2015-02-28 09:54:34 · 2448 阅读 · 1 评论 -
解决TextView中MaxLines与ellipsize=end冲突问题
TextView控件有一个属性是ellipsize,指的是当文字内容长度超过TextView大小时显示问题,一般情况下我们都是用省略号表示,常用的情况有以下四种:1,android:ellipsize = "end" 省略号在结尾3,android:ellipsize = "start" 省略号在开头3,android:ellipsize =原创 2015-02-27 10:49:22 · 15849 阅读 · 2 评论 -
Android网络加载图片并滚动显示
android应用app离不开服务器端的数据,我们装在手机上的app应用都是通过http相关协议及方法从对应的服务器上取下来的。几乎所有的app都少不了从网络加载图片并展示在手机上,今天我写的就是把网络图片加载到本地并用ViewPager展示出来,可以实现图片自动滚动播放,当然可以手动翻页。借助了网络图片开源框架ImageLoader,其在github开源地址是:https://github.co原创 2015-03-03 10:25:00 · 2386 阅读 · 0 评论 -
部分android控件属性总结
做安卓应用开发,不得不用xml代码写界面布局,各种控件各种属性太多太多了,有的属性之前还根本没有用过,今天终于花点时间,在网上淘了淘,加上平时工作中用的,把一些属性写下来,下次用的时候就可以翻一翻了。TextView及其子类(如Button,EditText,CheckedTextView等)属性,当然很多控件有下面部分属性:android:text设置显示文本. androi原创 2015-03-02 16:57:15 · 2304 阅读 · 0 评论 -
android保存图片到本地并可以在相册中显示出来
app应用是越来越人性化:界面优美,服务多样化,操作还非常方便。比如我们在用app的时候,发现上面有比较的图片想保存到手机,只要点一点app上提供的保存按钮就可以了。那这个图片保存到本地怎么实现的呢? 保存图片很简单,方法如下: /** 首先默认个文件保存路径 */private static final String SAVE_PIC_PATH=Environmen原创 2015-03-02 15:26:17 · 7569 阅读 · 0 评论 -
Android开发中ScollView嵌套ListView显示不全问题解决
大多数时候,我们用ListView来加载数据的页面不需要在ListView的外面再套上一个ScollView,因为ListView本身可以滚动显示数据。有时我们页面中除要用ListView显示列表数据之外还要显示其它数据,这时候就需要在整个页面最个层套上一个Scollview,否则显示就可能出现问题(比如在ListView上面已经有很多其它数据,显示在手机上直接导致ListView看不见了,这时就原创 2015-03-03 16:28:30 · 1534 阅读 · 0 评论 -
Android应用中ListView实现多条数据同时倒计时功能
最近在做一个网购APP,有个小功能就是限时抢购商品在限定时间内有优惠活动,我们需要给每个件商品做一个倒计时显示告诉用户还剩下多少时间。项目中我们有用到ListView和GridView来加载我们的商品数据,对每条数据(对应一件商品)进行倒计时。倒计时实现方式很多,常用的有以下方式:1,采用Handle与线程的sleep(long)2,采用Handler的postDelayed(Runnab原创 2015-03-05 15:27:29 · 2848 阅读 · 8 评论 -
ImageView加载网络图片
android网络加载图片框架Android-Universal-Image-Loader功能非常强大,其开源地址https://github.com/nostra13/Android-Universal-Image-Loader,讲解非常地详细,今天我要贴下工作中用到的利用这个框架加载网络图片并在ImageView控件中显示出来。 第一步当然是把相应的jar包导入到我们的项目中去原创 2015-03-04 15:45:32 · 1823 阅读 · 0 评论 -
Android利用Volley框架加载网络图片
Volley框架是在Google I/O 2013上Volley发布的,目的是使Android平台上的网络通信库,能使网络通信更快,更简单,更健壮。我们也简单了解下Volley引入的背景,在Volley出现以前,我们可能面临如下的问题,比如要在ListView或是GridView中加载数量较多的图片时:先在ListAdapter#getView()里开始图像的读取,再通过AsyncTask等机制使原创 2015-03-05 10:47:41 · 1003 阅读 · 0 评论 -
android开发中像素单位介绍
我们在开发android应用的时候,界面布局算得上是开发的第一步。布局就是要设置界面及控件的大小,涉及到好几个像素单位(px,大dip,dp,sp,pt),它们之间有什么区别呢? dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这这个,不依赖像素。 d原创 2015-03-06 16:03:04 · 2072 阅读 · 0 评论 -
Android数据存储方式之:SharePreference
做开发肯定离不了数据,因为编程=算法+数据。做Android应用开发常用到的数据存储方式有以下五种:1 ,使用SharedPreferences存储数据2, 文件存储数据3 ,SQLite数据库存储数据4 ,使用ContentProvider存储数据5, 网络存储数据今天就简单介绍下第一种存储方式:使用SharedPreferences存储数据。原创 2015-03-26 14:46:55 · 1298 阅读 · 0 评论 -
android中两种广播注册方式
BroadcastReceiver作为Android四大组件之一,作用率极高,尤其是很多的数据都要通过广播发送才能获取到的时候,比如获取短信内容,获取手机电量等。通常有两种广播注册方式: 1)非常驻型广播,广播注册在Activity代码中编写,广播跟随activity的生命周期。这种广播所在activity结束前,应该移除广播接收器。 2)常驻型,注册广播是在And原创 2015-03-26 14:13:28 · 1487 阅读 · 0 评论 -
Handler小例子,更换按钮的背景颜色
这几天一直在忙着开发一个新项目,写代码写得昏天黑地的,今天抽了几分钟时间写了下极简单的例子,改天有时间再写啦!布局文件很简单,就一个Button: xmlns:tools="http://schemas.android.com/tools" android:id="@+id/LinearLayout1" android:layout_width="match_原创 2015-03-20 11:46:32 · 1192 阅读 · 0 评论 -
Android常用的五种弹出对话框
一个Android开发中常用对话框的小例子,共有五种对话框:普通弹出对话框,单选对话框,多选对话框,输入对话框及进度条样式对话框: xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_paren原创 2015-03-20 14:08:11 · 4963 阅读 · 0 评论 -
Android用SurfaceView播放本地视屏(音频)文件
我们知道Android中可以使用VideoView播放视频,而且操作简单、方便。除此之外,我们还可以利用MediaPlayer用来播放视频,不过MediaPlayer主要用于播放音频,没有提供输出图像的输出界面,就是只能听到声音,看不到画面,这时就想到到了SurfaceView控件,将它与MediaPlayer结合起来,就能达到了视屏播放效果了,今天就做一个简单的视屏播放功能,把准备好的视屏文件t原创 2015-03-06 13:35:37 · 2521 阅读 · 0 评论 -
Android数据存储方式之:文件存储
android应用大多数用的java开发,所以java的文件操作在android中完全适用,只不过android对手机而言,多了个外存储设置SD卡。----------------------------------------------简单的界面布局----------------------------------------------------------- xmln原创 2015-03-27 14:31:23 · 1002 阅读 · 0 评论 -
Android数据存储方式之:数据库操作
开发安卓应用肯定离不开与数据打交道,现在有很多的开源框架可用,比原生的操作方便了不少比如AHibernate,GreenDao,OrmLite等等。我目前项目用到的就是GreenDao框架,可以用java项目生成我们对应的工具类在我们Android项目中,我们直接使用就可以。详细使用以后再介绍,今天我贴的是Android自带的数据库操作类SQLiteOpenHelper的使用,由于时间关系,写得非原创 2015-03-27 16:04:22 · 1427 阅读 · 0 评论 -
AsyncTask异步实现文件下载
做android开发的都知道,我们在主线程中不能进行耗时太久的操作,否则就可能报ANR,所有耗时的操作都要异步进行。android中的异步方法也很多,可以用Handler,可以用Thread及Runnable等。今天我们用安卓自带的异步工具AsyncTask来实现耗时操作:从网络下载文件。先对AsyncTask作个简单的介绍,下面的介绍也主要是参考网上资料: 1,AsyncTask定义原创 2015-03-06 16:56:03 · 2304 阅读 · 1 评论 -
Android网络交互Get,POST简介
做移动APP肯定少不了网络交互,无论是打开网页(如在手机端打开www.baidu.com)可是与服务器端交互(获取资料信息,上传或下载图片等),都要用到网络请求。我们常用的网络请求就是HTTP中的GET与POST。android与网络交互非常方便的,因为android主要是用java语言开发,所以直接使用java.net包下的API访问HTTP服务。更方便的是,Android SDK附带了Ap原创 2015-03-09 10:31:52 · 1031 阅读 · 0 评论 -
ListView的四种常用添加数据(setAdapter)方法
最简单的界面布局,就只一个ListView xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > android:id="@+id/test_lv原创 2015-03-09 18:00:58 · 26638 阅读 · 1 评论 -
Android中JSON数据使用
JSON(JavaScript Object Notation) :一种轻量级的数据交换格式,基于JavaScript的一个子集。 JSON采用完全独立于语言的文本格式,使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成(网络传输速度快)。作为一种数据交换格式,JSON优势很明显(相对与我们通常使用的XML):JSON比XML体积小;JSON和JavaScript交互更加原创 2015-03-10 09:12:15 · 1002 阅读 · 0 评论 -
Android中Handler小例子
在Android中,如果你的应用有一段时间响应不够灵敏,系统会向用户显示一个称作为应用程序无响应(ANR:Application Not Responding)对话框。用户可以选择“等待”而让程序继续运行,也可以选择“强制关闭”。一个合理的APP中不能也不应该出现ANR。导致原因就是安卓UI主线程中不能进行耗时操作(网络请求,文件下载等),比如在android中Activity的最长执行时间是原创 2015-03-09 14:01:12 · 767 阅读 · 0 评论 -
Android数据存储方式之:ContentProvider
ContentProvider是Android的四大组件之一,可见其重要性。我们使用到ContentProvider时,也要同Activity等其它组件一样,在AndroidManifest.xml中注册对应的组件才能使用。为什么会用ContentProvider来作为数据存储方式之一呢?ContentProvider在android中的作用是对外共享数据(应用之间数据共享),可以通过Co原创 2015-03-28 11:09:29 · 1085 阅读 · 0 评论 -
Android数据存储方式之:网络数据交互
android开发中常用的第五种数据存储方式就是我们常用的GET,POST等采用http协议来与服务器打交道。比如数据文件上传下载,网页请求等。几乎所有的应用都必须与网络打交道。举个很简单的get请求网络的例子:try {URL url = new URL("http://www.baidu.com");HttpURLConnection httpurlconnnection =原创 2015-03-28 17:11:54 · 2157 阅读 · 0 评论 -
Android多线程实现文件断点下载
download_main_layout.xml: xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" >原创 2015-03-10 17:32:58 · 823 阅读 · 0 评论 -
Android开发中padding使用一个小技巧
在安卓应用开发中,有时要用到状态按钮(可点击时与不可点击时的背景不相同),而且产品要求的按钮大小是固定的。在不同的手机上按钮的文字显示可能有些异常(主要是在给按钮做背景时很容易出现),此时我们怎么处理呢?我们可以用到padding这个属性。看看小例子:--------------------------就一个按钮,但是background是用xml文件写的状态selector-------原创 2015-03-30 17:27:51 · 3281 阅读 · 1 评论 -
Android常用系统Intent.Action小例子
ACTION_MAIN android.intent.action.MAIN 应用程序入口 ACTION_VIEW android.intent.action.VIEW 显示数据给用户 ACTION_ATTACH_DATA android.intent.action.ATTACH_DATA 指明附加信息给其他地方的一些数据 ACTION_EDIT android.原创 2015-03-30 14:00:40 · 4662 阅读 · 0 评论