安卓基础
阿卧
不懂就问,不会就学。好好做学问
展开
-
eclipse中的常用快捷键
工欲善其事,必先利其器。最近学习android,看到视频中的大神很随意的使用eclipse软件。里边有好多快捷键自己经常忘,或者不知道。自己现在有时间把整理一下。作为自己学习android之路的开始吧。【alt+/】提示类的快捷键,当不清楚具体的类名是,可以通过此快捷键快速提示。【Ctrl+O】显示类中方法和属性的大纲,能快速定位类的方法和属性,在查找Bug时非常有用。【Ctr转载 2015-04-11 21:47:05 · 416 阅读 · 0 评论 -
Android网络编程--获取网络图片
*(面试题)什么是ANR?怎么避免ANR才出现* 答:1、android在高版本加入了自检逻辑,检测应用程序里面的网络交互逻辑是否是* 在主线程里面执行的,如果是,则抛出以上异常。低版本是没有这个检测逻辑的。* 2、为什么在主线程休眠一会,就会抛出ANR呢?* 因为android赋予程序主线程极大的权利,他是一个非常重要的工作,就是去更新UI,* 或者刷新界面原创 2015-10-13 18:08:15 · 895 阅读 · 0 评论 -
模拟Android路径浏览器
模拟一个sd卡所有文件浏览器的功能:1、通过File的listFile()方法获取指定目录下的全部文件和文件夹2、定义String currentParent 变量,为当前的父文件夹、File currentFiles()为当前的所有文件3、将获取到的所有文件放在ListView中。4、如果文件时个文件夹,那么显示文件夹的图标,否则显示文件的图标5、点击每个文件夹进入该文件夹中原创 2015-09-23 19:45:40 · 585 阅读 · 0 评论 -
Android读写文件操作
最近在学习Android中的数据存储以及IO部分。下面写了两个关于文件存储的Demo第一个是读写内存中的文件。主要步骤:1、如果是读取文件,调用的是Android的ApI中的openFileInput(String name),返回FileInputStream()对象; 其余操作步骤跟javaSE中文件的读取方法一致。2、如果是写入文件,调用Andoroid的API中的o原创 2015-09-23 16:40:53 · 513 阅读 · 0 评论 -
Android开源组件---CircleImageView的使用
CircleImageView的介绍:这是一个成熟的、以圆形方式展现图片的库-CircleImageViewgithub地址:https://github.com/hdodenhof/CircleImageViewAndroidStudio下的使用步骤:在gradle中dependencies { compile fileTree(dir: 'libs'原创 2015-10-25 11:22:55 · 3740 阅读 · 0 评论 -
AsyncTask的用法
android.os.AsyncTask为什么会有AsyncTask类 1、为了解决主线程中的耗时操作,防止主线程出现ANR。 完整类名:android.os.AsyncTask 是一个抽象类,通常被继承。 Params:任务执行时,所需要的参数 Progress:后台任务执行时返回的进度值 Result:后台任务执行完成后,返回的结果值 构建A原创 2015-10-23 22:17:13 · 334 阅读 · 0 评论 -
SQLite数据库操作
今天学习了SQLLite数据的的相关内容。SQLLite是Android内置的数据库,既有自己独立的增删改查方法,又支持sql语句的增删改查。下面是使用sql语句的来操作SQLLite数据库的demo:步骤:当用户点击“插入”按钮时,将输入的数据插入到数据库中1、创建一个my.db3数据库。2、定义一个user表,属性包括姓名name 性别sex3、定义两个编辑框,输入姓名原创 2015-09-24 18:18:19 · 2007 阅读 · 4 评论 -
自定义实现ContentProvider数据共享
今天一天就弄懂了这个原理。一定要注意uri对应方法。uri表达当时不清楚的可以百度看看哈创建ContentProvider的步骤:1、该子类继承ContentProvider,并实现增删改查方法2、AndroidManifest.xml文件中注册该ContentProvider开发ContentProvider实现的增删改查都需要Uri参数,Android提供了UriMatcher原创 2015-09-29 22:55:34 · 623 阅读 · 0 评论 -
Notification发送通知
今天学习并测试了Notification组件,这个组件在应用中也经常用到。在这里写了一个简单的Demo。Notification是显示在状态栏的消息----位于手机屏幕的最上方。程序一般通过NotificationManager服务来发送Notification。Notification发送Notification的步骤1、调用getSystemService(NOTIFICATI原创 2015-08-20 22:15:15 · 1455 阅读 · 0 评论 -
网络编程---模仿新闻客户端
今天学习使用了Fresco开源框架。以下是简单使用步骤:Frasco的介绍:是facebook为程序员提供的Android加载图片的类库。Android Studio中使用Frasco步骤:1、引入到项目中:dependencies { compile 'com.facebook.fresco:fresco:0.6.0+'}2、如果你仅仅是想简单下载一张网络图片,在下原创 2015-10-14 12:02:19 · 681 阅读 · 0 评论 -
网络编程---Android开源组件(Async-http)实现文件上传
今天学习了使用开源组件(Android-ansync-http)实现文件上传。这是是组件的github链接 https://github.com/loopj/android-async-http使用androidStudio,只需在Gradle中粘贴以下代码即可:dependencies { compile 'com.loopj.android:android-async-ht原创 2015-10-15 18:47:27 · 3582 阅读 · 0 评论 -
BroadCastReceiver的基本使用方法
今天读了《第一行代码》并复习了一下广播机制,在这里做一个总结。 广播从类型上可以分为有序广播和标准广播两大类,从方法上分为静态注册的广播和动态注册的广播。在Android中,广播是跨进程的,因此在进程间传输数据时候,可能会泄露安全信息。因此在广播中还提供了本地广播(LocalBroadCastReceiver)来进行广播的安全管理。 因此,该文章就从静态注册广播、动态注册广播、自定义广播、本地广原创 2016-07-05 18:17:50 · 6097 阅读 · 0 评论 -
Caused by: android.view.InflateException: Binary XML file line #12: Error inflating class lzl.edu.c
在自定义view中常常会出现这么一个错误 Caused by: android.view.InflateException: Binary XML file line #12: Error inflating class lzl.edu.com.scrolldemos.view.MyImageView原创 2015-12-02 09:48:31 · 3172 阅读 · 0 评论 -
android---Scroll实现滑动效果
实现滑动的方法package lzl.edu.com.scrolldemos;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.util.Log;import android.view.MotionEvent;import android.widget.Im原创 2015-12-01 20:00:52 · 714 阅读 · 0 评论 -
Android动画机制学习---animator(二)
Android还通过布局文件来实现其动画效果 在xml文件中加入 android:animateLayoutChanges="true"这样就可以实现动画效果了,这个只是系统提供的默认动画效果,如果想加入自己的动画效果,可以通过在java代码文件中自定义一个view 的效果。 在java文件中便可以使用动画效果了:ScaleAnimation sa = new ScaleAnimatio原创 2015-11-30 17:31:23 · 808 阅读 · 0 评论 -
Android的动画机制学习---Animation
Android的动画机制今天主要来学习一下android中的动画机制。 * 从书本上看的总结android动画机制主要包括: * 1、视图动画 * 2、属性动画。 * 现在由于视图动画只提供图片的动画效果,并没有相应事件,因此在android 3.x以后引入了 * android属性动画的概念。因此现在的android属性动画现在应用十分广泛,今天也主要围绕android的属性原创 2015-11-30 11:48:21 · 441 阅读 · 0 评论 -
Android的绘图机制学习---自定义View
一、自定义View的使用: 通常我们为界面做UI设计时使用xml中的布局文件,这些布局文件及方法是androidAPI中所提供的。如果我们要实现一些复杂的布局或者一些特别的效果这样就会用到自定义View了。自定义View就是建立一个类继承自View或View的子类并实现一定的方法。下面是一些例子和系统类中的方法使用: 1.1 刮刮乐代码的实现 * 这个例子主要用来学习android绘图机原创 2015-11-28 18:39:52 · 1442 阅读 · 0 评论 -
利用ContentProvider实现查看、添加系统联系人
一、ContentProvider是不同应用程序之间进行数据交换的标准API开发ContentProvider的步骤:1、定义自己的ContentProvider类继承Android提供的ContentProvider基类2、在AndroidManifest.xml文件中绑定URL----ContentProvider类提供了增删改查方法。二、Uri介绍:Uri可分为三部分原创 2015-09-28 21:04:16 · 2229 阅读 · 0 评论 -
Android手势识别GestureDetector类
Android为手势提供了一个GestureDetector类要想实现手势的监听需要实现以下两个步骤1、创建GestureDetector对象 实现GestureDetector.OnGestureListener监听实例2、//2.为activity的onTouchEvent绑定监听事件以下是该类实现的demoImageSwither.javapackage lzl.原创 2015-09-26 19:12:53 · 496 阅读 · 0 评论 -
Base64实现android端图片上传到服务器端
首先要下载Base64.java文件http://iharder.sourceforge.net/current/java/base64/将代码拷贝到工程中。然后上代码:android端代码:private void setPicToView(Intent picdata) { Bundle extras = picdata.getExtras();原创 2015-06-08 21:45:21 · 4135 阅读 · 0 评论 -
Android PopupWindows
今天了解到PopupWindows这个布局,PopupWindow这个类用来实现一个弹出框,可以使用任意布局的View作为其内容,这个弹出框是悬浮在当前activity之上的。下面是一个实例xml文件 android:id="@+id/ll_popup" android:layout_width="match_parent"原创 2015-06-03 16:16:56 · 756 阅读 · 0 评论 -
AsyncTask实现ListView中异步加载网络图片
近几天实现加载网络图片,中途遇到好多bug,其中最令人头疼的便是OOM超内存的bug,现在还是没能解决。可能的原因就是加载的网络图片超出手机内存。这只能改变图片自身的大小,或者使用缩略图处理的方式了 。不过缩略图我还没有了解,希望大神看到后可以指点一二。下面就是listView中加载网络图片等信息的部分核心源码。myBaseAdapter.java文件package com.i原创 2015-06-01 18:18:02 · 806 阅读 · 0 评论 -
HandlerThread更新ui和Log日志的用法
1、HandlerThread 用法实例package com.example.handledemos;import com.example.handledemos.util.LogUtil;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import原创 2015-05-22 19:30:46 · 1646 阅读 · 0 评论 -
Handler的学习(二)
package com.example.handledemos;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Handler.Callback;import android.os.Message;import android原创 2015-05-18 10:32:32 · 640 阅读 · 0 评论 -
学习Handler的一些用法
这两天学习到handler机制,初步了解了一些关于它的用法,在这里做一些记录。1、handler是传送消息的机制,用于在多线程中传送和接收消息。2、handler用于ui信息的更新。类似于异步更新的效果。下面是一个handler机制中更换图片的效果。(在布局文件中,只需要建立一个imageView就行了)package com.example.handledemos;imp原创 2015-05-18 09:06:33 · 440 阅读 · 0 评论 -
handler、looper、messagequeue之间的关系
这里先简单的写一个例子,后续会更新一些概念性的东西在里面。因为现在还不太理解这个。1、只是听讲:handler是负责消息传输,looper负责消息回调,messagequeue是一个存储消息的容器。2、在子线程中,要想实现消息的传送,需要获得looper对象进行回调。package com.example.handledemos;import android.app.Act原创 2015-05-18 16:38:11 · 950 阅读 · 0 评论 -
android 工程到不进去解决方案
如果发现导入工程的时候,出现"No projects are found to import" 的提示,首先查看项目目录中是否有隐藏文件.project,还有目录结构也还要有一个隐藏文件.classpath, 如果没有的解决办法。 方法1:最直接的操作,可以把其它项目的.project, .classpath文件拷贝过来,修改相应的地方则可。1).project文件只需要修改AboxT原创 2015-05-07 19:52:15 · 524 阅读 · 0 评论 -
AndroidStudio配置Androidannotation
github中搜索Androidannotation。里面也有很详细的讲解过程。包括eclipse版本和IntellJ的相关配置。因为自己使用的是AndroidStudio所以在这里讲解下AndroidStudio的配置。在网上搜了很多,在自己配置过程中又遇到了不同的麻烦。所以在这里总结一下。这里贴出github中这个相关的链接:https://github.com/excilys/android原创 2015-08-10 21:01:10 · 1309 阅读 · 0 评论 -
AnalogClock和DigitalClock的功能和用法
MainActivity.javapackage lzl.edu.com.gridviewtest;import android.app.Activity;import android.os.Bundle;import android.os.SystemClock;import android.view.View;import android.widget.Button;原创 2015-08-17 14:23:07 · 2133 阅读 · 0 评论 -
SQLLite保存单词到本地数据库中
写一个存储单词的demo。存储再SQLLite数据库中。步骤:1、布局:包括两个编辑框分别是单词和汉语意思,点击保存按钮,另一个是输入关键字进行查询的编辑框,点击查询按钮跳到另外一个activity界面。2、还用SQLLiteHelper类来实现数据库的版本更新操作,使用SQLLite提供的插入和删除方法MainActivity.javapackage lzl.edu.co原创 2015-09-26 15:58:47 · 1386 阅读 · 1 评论 -
GridView和SimpleAdapter的结合使用显示图片
今天学习了GridView的使用,和ListView类似都是一种布局容器。下面实现的的是“带预览的图片浏览器”的Demo带预览的图片浏览器思路:1、采用GridView来组织所有图片的预览效果。用ImageSwitch来显示2、ImageSwitcher要设置一个ImageSwitcher.ViewFactory,并实现makeView()方法,返回一个人ImageView,I原创 2015-08-19 21:03:46 · 2076 阅读 · 0 评论 -
DatePickDialog与TimePickerDialog
写一个DateDialog的Demo,步骤:1、定义两个按钮,一个控制打开日期Dialog,一个控制打开时间Dialog。2、通过new关键字创建DatePickerDialog,调用它们的show()方法即可显示。3、为DataPickerDialog、TimePickerDialog绑定监听器,保证用户通过DatePickerDialog、TimePickerDialog设原创 2015-08-20 20:06:31 · 1611 阅读 · 0 评论 -
Dialog的各种使用方式
今天学习了Dialog组件,并且将Dialog做了一下总结,下面是总结的内容和DemoAlertDialog:功能最丰富、实际应用最广的对话框ProgressDialog:进度对话框,DatePickerDialog:日期选择对话框TimePickerDialog:时间选择对话框AlertDialog提供了四种预定义对话框》带消息、带N个按钮的提示对话框》带列表原创 2015-08-20 11:18:55 · 1073 阅读 · 2 评论 -
TabHost的用法
今天学习了TabHost组件的功能和用法,在这里将Demos展现一下。activity_tab_host_demos.xml<TabHost xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:l原创 2015-08-19 11:26:19 · 739 阅读 · 0 评论 -
AutoCompleteTextView和Spinner的用法
首先说明AutoCompleteTextView的用法,主要是起到自动填充的作用,输入关键字,如果存在该字便可以自动填充。代码如下activity_main.xml<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android原创 2015-08-18 17:44:38 · 795 阅读 · 0 评论 -
Dialog和ListView,progressBar的结合使用
今天看了体格Demos,使用Dialog和ListView结合使用。这个例子让我掌握了自定义Dialog的使用和自定义Adapter的使用。下面是实现的步骤以及代码实现。DialogListView。1、自定义dialog(PickDialog类):设置context,title。将xml中的布局文件加入到该类中1.1 PickDialog继承自Dialog,写构造方法初始化conte原创 2015-08-18 10:40:01 · 1236 阅读 · 0 评论 -
ImageView中的一些用法
这个demo实现了点击按钮 改变图片的透明度,对图片的局部放大。有一点bitmap位图的内容有些不太明白。后期会专门研究这个类。MainActivity.javapackage lzl.edu.com.imageviewtest;import android.app.Activity;import android.graphics.Bitmap;import android.gra原创 2015-08-17 18:59:20 · 1613 阅读 · 0 评论 -
Service服务的用法
今天复习了一下Service的使用,在这里做一个总结。 Service与Activity类似运行在程序后台没有显示界面的一种服务。它的启动方式分为两种:1、使用startService(Intent intent) 2、使用bindService(Intent Intent,ServiceConnection service,int bind)方法。Service还提供了IntentService原创 2016-07-06 15:52:32 · 1560 阅读 · 0 评论