
Android 入门
文章平均质量分 63
藏余地
这个作者很懒,什么都没留下…
展开
-
【Android入门 五】ImageView的简单使用和从sd卡中获取资源
一、ImageView的简单使用:1、写包含标签的layout文件(也可以直接写入图片资源)2、加载布局文件3、取得ImageView对象4、工厂模式格局url路径将sd卡中的图片资源生成bmp格式的图片对象5、对象调用方法setImageBitmap()。代码实例:package com.android.listview;import android.app.原创 2015-01-29 16:48:28 · 707 阅读 · 0 评论 -
【Android入门 十二】animation动画效果
单一动画:创建不同的animation对象确定动画时间view开始动画复杂动画: 1、动画集创建animation set对象set对象加入不同的animation对象set对象设定时间或者不同的animation对象分别设定时间开始动画 2、逐帧动画创建AnimationDrawable对象向对象添加资源向view对象增加Animation原创 2015-02-10 20:18:45 · 555 阅读 · 0 评论 -
【Android个人理解(一)】通过Looper与Handle的关系,理解Looper工作机制
Looper与Handle是Android独有的新概念,但我们学习中常常将他们分开学习,实际上两者密不可分。 Looper与Handle的关系: Looper是负责在线程里建立消息循环的类,包括准备,开始循环,停止等整个消息循环的生命周期。Handle是负责不同线程之间消息的类,包括消息的发送,接受,清除等消息的生命周期。 但是只有存在Looper的线程,才会用到Handle。没有Handle原创 2015-03-15 20:27:49 · 1853 阅读 · 0 评论 -
【Android入门 十三】数据存储
发觉上篇翻译只注意一些细节,却没有写出数据存储的编程实现,这篇文章通过实例来完整的体现数据存储。 在实践中,发现的主要问题: 读取和写入的字符流和字节流,API文档上的对于FileInputStream的方法write()和read()属于字符流。 assets目录和R,raw目录的区别。 写入时,不可避免的字符编码问题。package com.study.test02;import jav原创 2015-03-03 22:41:38 · 474 阅读 · 0 评论 -
【Android个人理解(二)】从实现方法深入了解自定义适配器的工作过程
自定义适配器时,需要重写BaseAdapter的getCount(),getItem(int position),getItemId(int position),getView()方法。 但是由于不了解每个方法在工作时发挥的作用,而不知道如何重写四个方法。 1、由Adapter的工作原理了解getCount()和getView()的作用。 getCount()用来告诉系统Item的个数,也原创 2015-03-19 19:41:47 · 857 阅读 · 0 评论 -
【Android 排错第一例】NullPointException
排错经验:不要因为某个变量简单熟悉就忽略对该值的检查,由此体现代码的健壮的重要性。 报错:NullPointException,错误处:lv.setAdapter(adapter); 也就是说,lv或adapter传值为空。 前期把精力全部投入到SimpleCursorAdapter,包括“_id”和API 11新出现的SimpleCursorAdapter的构造方法中出现的新的变量flag原创 2015-03-06 22:43:43 · 549 阅读 · 0 评论 -
【Android 个人理解(三)】从源码剖析如何实现实现全屏效果
实现全屏的代码:// 全屏显示requestWindowFeature(Window.FEATURE_NO_TITLE); //turning off the title at the top of the screen. getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.Lay原创 2015-03-27 17:40:42 · 1212 阅读 · 0 评论 -
【Android细节(一)】Gallery设置自定义的背景属性
问题:在我们使用Gallery作为前端布局,需要 1、先使用TypeArray自定义属性类 2、再通过TypeArray对象调用getResourceId()得到android:GalleryBackground或android:GalleryItemBackground格式。但是android:GalleryBackground或android:GalleryItemBa原创 2015-03-22 22:07:34 · 1643 阅读 · 0 评论 -
【Android 细节(二)】业务操作类的生命周期中的开始方法
为了防止内存泄露或者其他更重要的原因,为业务操作类构建生命周期是必不可少的。即在类里封装onStart(),onPause(),onFinish()方法。比如我要写一个Android中处理数据库的业务类,他的特点是所有的数据操作是以key-value的方式存储。Databaser.java:// 构造方法 public PhoneDbAdapter(Context context原创 2015-04-06 19:36:39 · 668 阅读 · 0 评论 -
【Android API Guides简译(四)】使用Service还是使用线程?
一个服务是一个组件,这个组件可以在Android后台运行,即使你的这个应用被关闭,它依然在运行。所以说只有你需要一个和当前程序无关的后台程序时,才去创建它。 而如果你只是想让你的App在主线程外工作,而且操作限定在当前程序中时,只需要在在里面创建另一个线程。 比如你只是想在你的Activity在运行时,放一首音乐,那么你应该在onCreat()方法里创建另一个线程,在o翻译 2015-04-07 18:34:31 · 714 阅读 · 0 评论 -
【Android入门 四】listView简单说明
ListAdapter是接口,里面含有许多抽象方法。叫适配器的原因是,需要接口适应什么需求,就写相应的方法(这就是适配器)。listView的大体思路:加载布局找到合适的适配器,声明对象,并加载。在listView上增加监听器//context的理解,一个activity对应一个上下文配置环境,即activity.main的作用是取得该activity对应的context。原创 2015-01-22 21:18:05 · 435 阅读 · 0 评论 -
【Android入门 十一】SQLite的简单使用
大体步骤:创建SQLiteDatabase对象通过重写SQLiteHelper类,执行增删减操作写构造方法onCreate()方法,即第一次使用这个表时,调用的方法(一般建表的语句)onUpgrade()方法,版本更新时调用直接执行查询操作(返回值为游标)调用moveToXX()方法对游标直接找到相关数据,返回布尔值(游标可滚动,不需要While())原创 2015-02-09 20:25:44 · 452 阅读 · 0 评论 -
【Android入门 三】创建项目时,有关appcompat_v7工程报错问题的分析和排除
出现的问题:在刚创建项目后,发现工程列表里自动创建了一个报错的appcompat_v7工程,而且原工程出现感叹号并且无法生成R.java文件。初步分析:appcompat_v7工程是谷歌公司出于使得API 7+的sdk版本(即Android2.1版本)可以访问ActionBar的API的目的,而自动创建的兼容包。“v7”的意思是自sdk的版本7开始。因此appcompat_v7作为兼容包,所以原创 2015-01-21 21:40:45 · 874 阅读 · 0 评论 -
【Android入门 九】通过绘画View实现动画效果
首先,对于Android,我的MVC的理解:MVC分别表示什么?M、V、C之间的关系?MVC的工作过程?M:model 程序所要描述的实体。//数据V:view 包含UI的表现层。C:control 控制层原创 2015-01-31 15:53:21 · 677 阅读 · 0 评论 -
【Android入门 八】消息机制
消息机制:handler 主线程和其他线程的桥梁,消息队列。handler 的handMessage()方法由主线程控制,UI的交互也在这个方法里操作;setMssage()方法由自己创建的线程调用来发送消息。他们之间通过变量Message来标识(what类成员变量)。实例代码:原创 2015-01-30 23:48:59 · 472 阅读 · 0 评论 -
【Android入门 六】菜单栏和对话框的约会
一、菜单栏的简单使用:重写Activity的onCreateOptionsMenu()方法,得到menu对象menu对象调用add()方法,增加菜单选项。(可用for循环简化)重写Activity的onOptionsItemSelected(MenuItem item)方法,在这个方法里得到菜单选项的编号,添加UI交互。二、对话框的简单使用(设计模式):得到AlertDia原创 2015-01-30 16:27:47 · 587 阅读 · 0 评论 -
【Android入门 七】通过ProgressDialog初试线程
线程初试:在某一个线程运行时间过长时,重启一个新后台线程。为防止用户再次触发,重启两个相同的线程相互堵塞,使用ProgressDialog锁死主线程。由于ProgressDialog对象在两个线程中是共有的,可以通过ProgressDialog对象传递后台线程运行结束的信息即ProgressDialog对象在后台线程调用dismiss()方法。(//Android规定不能在自己创建的线原创 2015-01-30 20:32:58 · 912 阅读 · 0 评论 -
【Android入门 十】绘制图片和图片旋转
首先简略说明绘制图片:由于canvas.drawBitmap(bitmap, src, dst, paint);有四个参数所以大体有四五步。1、通过getResource()方法得到drawable文件夹里BitmapDrawable类型的对象2、将BitmapDrawable类型转化为Bitmap类型的对象3、创建src, dst,两个长方形,src是指在原图形上截得的图片,ds原创 2015-02-04 21:23:22 · 1000 阅读 · 0 评论 -
Android布局中的ClassCastException
ClassCastException,从字面上看,是类型转换错误,通常是进行强制类型转换时候出的错误。但是在布局中出现的ClassCastException的比较少见,甚至找不到哪里有类型转换。一、先介绍什么是ClassCastException。nimal表示动物,Dog表示狗,是动物的子类,Cat表示猫,是动物的子类。看下面的代码:Animal a1 = new Dog(); /原创 2015-02-04 20:34:23 · 2381 阅读 · 0 评论 -
【Android入门 二】Activity的理解
Activity的中文即活动,有些人理解为手机应用的“一屏”,我认为活动更直接,activity就是负责处理智能手机的UI活动,凡是我们在手机上的活动都需要由activity来负责。于是activity有两个职能: 封装GUI和响应事件用法:继承activity类在配置文件里声明(AndroidManifest.xml用来告诉系统怎么加载这个项目。)原创 2015-01-20 20:39:50 · 460 阅读 · 0 评论 -
【Android入门 一】Android的系统架构
Android的系统架构(4层):1、Linux Kernel(各种硬件驱动程序,用来隔离底层硬件)2、(1)Libraries(库,接口的集合,由C++和C语言编写的) WebKit 浏览器引擎 OpenGL 三维图库 SSL 安全套接字 ......(2)Daivik Virtual Machine(虚拟机,系统库的一部分,和sun的java原创 2015-01-20 10:31:01 · 549 阅读 · 0 评论 -
【Android个人理解(四)】自定义Application类的使用
1、为什么要重写Application类 如果想在整个应用中使用全局变量,在java中一般是使用静态变量,public类型;而在android中如果使用这样的全局变量就不符合Android的框架架构,但是可以使用一种更优雅的方式就是使用Application context。 那么为什么这样的全局变量就不符合Android的框架架构? 众说纷纭,我理解的是static访问是无法跨进程的原创 2015-04-13 20:40:45 · 2681 阅读 · 0 评论