![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android基础
文章平均质量分 78
zhangbohun
这个作者很懒,什么都没留下…
展开
-
Android开发入门前准备
Android开发不适合编程初学者,因为编程初学者连基础的语法都对付不过来,更别提Android开发所需要的GUI编程,数据库,IO,网络等等相关知识。Android入门光有官方文档肯定是不够的,一本好书,一套好的视频教程,一些有参考价值的技术博客都是必要的。也许这些大家都想得到,但是我想说那些准备只是为具体技术知识的学习资料准备,这是不够的。更重要,应该说跟基础的是心理上的准备让自己进入原创 2015-12-23 22:19:01 · 472 阅读 · 0 评论 -
Android中的进程和线程
进程(Processes)当一个程序第一次启动的时候,Android会启动一个LINUX进程和一个主线程。同一个程序的所有组件默认都运行在同一个进程中,如果有多进程的需要也可以通过修改manifest文件实现。在manifest文件中的所有支持 android:process属性的那些项(,, , 和 )都可以指定一个进程,你可以设置这个属性使每个组件运行于其自己的进程或只是其中一些组原创 2016-02-24 17:20:11 · 294 阅读 · 0 评论 -
Activity启动模式相关总结
默认情况下通过Intent启动Activity的时,就算已经存在相同的正在运行的Activity,系统都会创建一个新的Activity实例并显示出来。为了不让Activity实例化多次,可以在AndroidManifest.xml配置activity的加载方式(launchMode)实现单任务模式:当launchMode为singleTask时,通过Intent启动Activity,如果系统中原创 2016-03-09 23:19:49 · 252 阅读 · 0 评论 -
程序中上下文Context
之前学习Toast的时候关于Toast.makeText()方法的第一个参数做了简单说明,现在详细说明一下这个Context。Context是一个抽象基类,通过它访问当前包的资源(getResources、getAssets)和启动其他组件(Activity、Service、Broadcast)以及得到各种服务(getSystemService)等。Context提供了一个应用的运原创 2016-02-25 14:23:23 · 1751 阅读 · 0 评论 -
四大组件基本使用实践总结
先来简单的,内容提供者ContentProvider。初期学习基本不用写自己APP的ContentProvider,主要是调用别的APP的。通过ContentResolver对象来调用别的APP通过ContentProvider提供的共享数据。例如获取短信信息:ContentResolver resolver=getContentResolver();Uri ur原创 2016-02-14 16:32:55 · 400 阅读 · 0 评论 -
Android资源文件详解
之前在介绍项目目录结构时说到过Android程序的资源文件,Android软件是如何管理自己的资源文件的呢?首先资源文件有那些类型,分为/res文件夹下预编译的和/assets原生的文件。在res文件夹中会放些什么东西呢?/anim文件夹放置XML文件的动画文件(它们会被编译成逐帧动画(frame by frame animation)或补间动画 (twee原创 2016-02-15 20:44:02 · 857 阅读 · 0 评论 -
Android XML解析
Android平台上解析XML文件的方法有三种。SAX解析(Simple API for XML)基于事件驱动的解析器,它并不需要解析完整个文档,在按内容顺序解析文档的过程中,SAX会判断当前读到的字符是否合法XML语法中的某部分,如果符合就会触发事件,调用事件处理器相应的处理方法。需要重写DefaultHandler的几个方法, startDocument()原创 2016-02-29 22:57:11 · 213 阅读 · 0 评论 -
Android 关于 OnScrollListener 事件顺序次数的简要分析
在 Android 的 OnScrollListener 整个事件我主要分析下他的执行顺序:实现滚动事件的监听接口,之前一直很迷糊,后来仔细测试后得出上面的结论。new AbsListView.OnScrollListener(){ @Override public void onScrollStateChanged(AbsListView absListView, in...原创 2016-04-08 21:56:15 · 286 阅读 · 0 评论 -
RecyclerView使用实例
Android的UI真是个坑。用RecyclerView和SwipeRefreshLayout实现一个简单的可以顶端下拉刷新和上划自动加载的列表控件。layout文件:<android.support.v4.widget.SwipeRefreshLayout android:layout_width="wrap_content" android:layo原创 2016-04-08 21:39:09 · 372 阅读 · 0 评论 -
CardView使用介绍
CardView继承于Framelayout,比FrameLayout多了 3 个重要的属性:card_view:cardElevation,可以设置卡片的阴影,可以使CardView在 z 轴方向上有一种抬升的视觉效果,能给用户一种这里是重要信息的视觉感受。对应代码里的方法public void setCardElevation (float radius)。card_view:card原创 2016-04-09 15:28:32 · 426 阅读 · 0 评论 -
Android消息提示方法介绍
Android消息提示有三种方式:1.使用Toast显示消息提示Toast用于在屏幕中显示一个提示信息框,该消息提示框没有任何控制按钮,并且不会获得焦点,经过一定时间后自动消失,通常用于显示一些快速提示信息。a)通过构造函数初始化:使用Toast来显示信消消息提示框,只需要经过以下3个步骤即可实现。(1)创建一个Toast对象。(2)调用Toas原创 2016-02-24 22:26:50 · 10295 阅读 · 0 评论 -
Android的消息处理:Looper,Handler和Message
Handler:主要用于发送及处理子线程的Message数据,并用这些数据配合主线程更新UI等操作。(用handleMessage(Message msg)方法来对特定的Message进行处理,例如更新UI等。)Handler对象与Looper沟通,以便push新消息到MessageQueue里;或者接收Looper从Message Queue取出)所送来的消息。Message:包含消原创 2016-03-10 16:28:10 · 389 阅读 · 0 评论 -
Android开机启动
Android 手机在启动的过程中会触发一个Standard Broadcast Action,名字叫 android.intent.action.BOOT_COMPLETED(只会触发一次), 在这里我们可以通过构建一个广播接收者来接收这个这个action. 下面我就来简单写以下实现的步骤:第一步:在AndroidManifest中添加权限<uses-permission and...原创 2017-04-06 18:10:12 · 291 阅读 · 0 评论 -
Android数据存储
用SharedPreferences类存储轻量级数据SharedPreferences常用来存储一些轻量级的数据,通过存储key-value(键值对)的xml文件实现(实际就是存储到/data/data/<package name>/shared_prefs/下的xml文件中)SharedPreferences提供了java常规的Int、String等类型数据的保存接口。原创 2016-02-28 23:47:21 · 279 阅读 · 0 评论 -
Android系统基本情况介绍
如今的移动开发基本就是在IOS和Android两个平台了,如果不考虑跨平台的开发方式就得考虑二选一 的问题了。为什么我选了Android呢?呵呵,其实只是个人喜好罢了。什么Android系统开源,比IOS更开放自由;什么Android市场占有率高;什么Android开发比IOS开发更容易上手等等都没什么说服力的,因为对于个人来说那些宏观的东西的印象并没有你以为的那么大,从自己出发因为我原创 2015-12-24 14:49:26 · 654 阅读 · 0 评论 -
搭建Android开发环境
我把这一步骤分为两个小步:1,Java环境搭建(这个学过Java SE的应该都知道的)因为要做的是用Java语言进行的Android应用开发,所以需要Java的JDK装完还没完,还需要配置环境变量,这里提供一个快速配置的小工具2,安装和配置Android开发的IDE现在大家基本都用google官方推荐的Android Studio了。下载一个包含SDK Tools(关于它的原创 2015-12-24 16:38:49 · 237 阅读 · 0 评论 -
Android实现后台每日定时更新操作实现知识点和思路
通过AlarmManager,WakefulBroadcastReceiver,IntentService实现后台每日更新操作。AlarmManagerAndroid系统级别的提示服务,可以设置在特定的时刻为我们广播一个指定的Intent(通常使用Intent加上如startActivity、startService或sendBroadcast等指定动作封装包的PendingIntent)...原创 2016-03-06 15:58:17 · 3748 阅读 · 0 评论 -
用AsyncTask处理UI线程阻塞问题
如果有操作阻塞UI线程软件可能出现界面无响应错误,所以耗时操作不要放在UI线程中实现。常用的解决方式是把这类网络操作,加载大文件等等耗时操作通过AsyncTask在后台线程中处理。如何使用AsyncTask?通过集成AsyncTask抽象类写一个自己的myAsyncTask类private class MyTask extends AsyncTask<String, Inte...转载 2016-02-22 14:16:19 · 1428 阅读 · 0 评论 -
Android SDK Tools介绍
SDK工具是编译Android软件所必须的。默认安装了带SDK Tools的Android Studio后,其实已经装好了可以让我们正常编译软件所必须的SDK工具了,但是为了方便以后自己进行更新和设置SDK工具,我们还是有必要了解一下其中的乾坤的。在你设置的对应目录下就有SDK Manager这个软件了,点击它运行后界面如下图:(里面的项都有实际的目录下的文件夹对应)由于你原创 2015-12-24 20:07:15 · 4236 阅读 · 0 评论 -
AndroidStudio项目目录结构介绍
绍一下这个项目的目录结构,初次打开Android Studio按照提示一步步操作即可建立一个app的项目了。项目分几种视图,主要看一下Project视图和Android视图下的目录结构。以下为Project视图,因为Android Studio用了gradle作为项目构建的工具(作用类似于maven),所以有一些和gradle相关的目录和文件,初学者暂时不必深究。.properti原创 2015-12-25 10:53:02 · 448 阅读 · 0 评论 -
四大基本组件之BroadcastReceiver
是什么BroadcastReceiver,有什么用?用于接收Broadcast广播通知信息(Intent)(时区改变、电池电量低、拍摄了一张照片或者用户改变了语言选项等等,除了系统产生的也可以是其他应用发出的),并做出对应处理的组件,也没有界面。如何使用?先继承BroadcastReceiver基类写出一个具体的BroadcastReceiver类,然后注册到系统中。如何注册注原创 2016-01-13 19:42:32 · 291 阅读 · 0 评论 -
一个apk文件的诞生
接下来如何编译得到可以运行的软件呢?首先打开Genymotion模拟器模拟出一台Android手机。具体可以部分参考官网的教程。等模拟的Android手机开启后,我们就可以把进行编译然后运行了。选择app,然后点击绿色三角形,然后选择刚刚打开的模拟Android机。软件运行成功。可是我们要如何得到编译出来的软件呢?从系统的资源管理器打开项目所在目录找原创 2015-12-25 22:30:29 · 442 阅读 · 0 评论 -
简单研究下APK文件
其实Android的apk文件(AndroidPackage Android 安装包)就是个zip压缩包,可以用平常的解压缩软件打开来介绍一下如何从Java源码和资源文件生成这个apk压缩包的。这个压缩包中的mete-INF里是一些软件信息(资源路径等等)res是资源文件的目录,和原项目中相同。resources.arsc是二进制的资源文件,原创 2015-12-25 23:31:54 · 234 阅读 · 0 评论 -
四大基本组件之Activity
Activity是什么?在Android应用中,一个 Activity 通常有一个单独的可视化界面,在这个界面上等可以显示控件(一般是通过加载Layout下的xml资源文件设置的View来实现页面布局),可以监听事件做出响应(在具体的Activity类中实现 )当新建应用时就会有一个MainActivity,它就是默认该应用注册的启动时显示的Activity在创建MainA原创 2016-01-11 23:18:12 · 278 阅读 · 0 评论 -
Activity的生命周期和LogCat工具介绍
Activity的生命周期(Activity lifecycle),了解Activity生命周期后就可以在Activity不同状态时运行的函数中设置你的程序需要执行的工作代码了(最基础的Android编程就是这样,在各个组件不同状态执行的函数里写你自己的程序需要的代码)整个周期所有转换的状态如下图onCreate(Bundle bundle);在Activity创建时调用的原创 2016-01-12 00:53:37 · 1166 阅读 · 0 评论 -
四大基本组件之Services
什么是Services,Services什么用?Services是在后台运行,没有可视化的用户界面的程序。(Android系统现已经不允许只有Services的Android程序了,所以一个Android应用必须要有界面(有Activity)才能正常运行)最容易理解的实例就是音乐播放器。如果把播放音乐的代码写在Activity里是不行的,当点击播放后退出界面到别的应用时音乐就不能继续播放了原创 2016-01-12 22:25:36 · 444 阅读 · 0 评论 -
四大基本组件之Services 续
之前的笔记记得有点糙,主要是后面代码实现部分在,在针对的总结一下。第一种用StartService()方法来进行方法的调用Service新产生的服务是独立于调用者的,有自己独立的生命周期。onCreate()->onStartCommand()(新)->startService()->onDestroy()第二种用 bindService()方法来绑定Service原创 2016-01-13 00:33:27 · 278 阅读 · 0 评论 -
四大基本组件之ContentProvider
是什么ContentProvider,有什么用?为别的应用程序共享(取用和存储)数据(文件数据或SQLite数据等)提供的的一套标准方法类。Android系统自带一些内容提供者,Browser,CallLog,Contacts,Images,MediaStore,Settings,Video等如何使用?程序中写MyContentProvider继承ContentProvid原创 2016-01-13 21:40:00 · 309 阅读 · 0 评论 -
Android JSON解析
和XML解析一样JSON解析的方式也有很多,还有更方便的第三方库工具。使用android sdk中的org.json包解析数据例子:解析数据推荐用这些方法,这些方法在解析时,如果对应字段不存在会返回空值或者0,不会报错。JSONObject jsonObj = new JSONObject(jsonString);String name = jsonObj.optStri原创 2016-03-02 13:11:25 · 332 阅读 · 0 评论 -
AndroidManifest文件简单说明
AndroidManifest文件的作用?在工程目录下可以找到AndroidManifest.xml文件,它主要用于声明需要注册应用程序组件,指明应用程序所需链接到的第三方库,还有程序运行所需要的特殊权限。详细如下:1. 用 Java 包给应用程序命名。这个包名是应用程序的唯一标识;2. 描述应用程序的组件 --- 组成应用程序的 Activity、Service、Broa原创 2016-01-22 15:15:40 · 751 阅读 · 0 评论 -
Layout布局相关笔记
如何使用布局资源文件在代码中创建每个Activity时,在onCreate()方法中,调用setContentView()加载指定的Layout布局文件即可。然后就可以通过findViewById()或者注解的方式来获得在布局文件中创建的相应id的控件。public void onCreate(Bundle savedInstanceState) { s原创 2016-02-15 21:56:11 · 409 阅读 · 0 评论 -
Android控件ListView
Android学习进入第二个阶段了,UI总结一下ListView,ListView是个ViewGroup控件,可以显示一个控件列,其中显示的控件元素和显示内容通过一个Adapter进行映射。常用适配器有:ArrayAdapter数组适配器,可以用来显示单条文本SimpleAdapter 简单适配器,每个item中可以配置显示多个控件,通过map来将每原创 2016-03-04 18:42:58 · 268 阅读 · 0 评论 -
组件间通过Intent通信
Intent是什么,什么作用?Intent(意图)用来实现 Android 应用的项组件间的通信。Intent 负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android 则根据此 Intent 的描述,负责找到对应的组件,将 Intent 传递给调用的组件,并完成组件的调用。因此,Intent 在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调原创 2016-01-19 00:32:34 · 496 阅读 · 0 评论 -
Android EditText控件使用
0 本文主要涉及Android EditText控件的一些实际使用中的需求实现。1 隐藏默认样式去除框样式 设置属性 android:background="@null"去除光标 设置属性 android:textCursorDrawable="@null"2 首次进入页面不需要弹出输入法给父view设置 android:focusableInTouchMode="true原创 2017-12-08 15:16:27 · 742 阅读 · 0 评论