安卓
zfireear
这个作者很懒,什么都没留下…
展开
-
Fragment与Activity通信
在活动中使用碎片实例: YourFragment fragment = (Fragment) getFragmentManager().findFragmentById(R.id.yourfragment)在碎片中使用活动实例: YourActivity activity = (YourActivity)getActivity()碎片之间通信只需在一个碎片中使用活动实例,然后通过活动实例调用碎原创 2015-11-24 09:39:56 · 271 阅读 · 0 评论 -
安卓view滑动控件及方法scrollBy,scrollTo的使用
在Android View视图是没有边界的,Canvas是没有边界的,只不过我们通过绘制特定的View时对 Canvas对象进行了一定的操作,例如 : translate(平移)、clipRect(剪切)等,以便达到我们的对该Canvas对象绘制的要求 ,我们可以将这种无边界的视图称为“视图坐标”—–它不受物理屏幕限制。通常我们所理解的一个Layout布局文件只是该视 图的显示区域,原创 2016-03-23 22:35:22 · 522 阅读 · 0 评论 -
安卓触屏进行的图形变换--平移,缩放核心代码
平移核心代码...//单指针起始位置////MotionEvent.ACTION_DOWN,第一个指针float originalx = motionevent.getX(index);float originaly = motionevent.getX(index);...private void handleTranslate(MotionEvent ev){ fina原创 2016-03-30 10:19:54 · 619 阅读 · 0 评论 -
安卓数据库操作
安卓提供了SQLite数据库,可以用来存储更多的数据。通过继承SQLiteOpenHelper类来操作数据库。 public class MyDatabaseHelper extends SQLiteOpenHelper然后实现它的三个方法,构造方法,onCreate()方法,onUpgrade()方法。 我们可以在onCreate()方法执行数据库的操作,例如: public void onC原创 2016-03-06 10:29:22 · 572 阅读 · 0 评论 -
android 基于矩阵的图形变换--原理简介
常用的图形变换包括:平移(矩阵T),旋转(矩阵R),缩放(矩阵S)。 图形是实质由点形成的。 图形变换是矩阵相乘的结果,分为前乘和后乘,对应矩阵的左乘和右乘。在矩阵中,排列在右的矩阵有更高的权,因此右乘优先于左乘。数学知识补充:2*2矩阵相乘示意图数学知识补充:矩阵在变换坐标过程中相乘起始坐标系: 拉伸x轴坐标系: 这个变换过程中的矩阵: 而在计算机中图形变换我们用的是3*3矩阵示意图,比原创 2016-03-29 20:45:39 · 675 阅读 · 0 评论 -
安卓自定义View组件
1.创建一个自定义类组建这个类是我们自定义view组件的类,它一定是继承了view类或view的子类。而且这个类必须实现一个带参数(Context context和AttributeSet Attributes)的构造方法。定义自定义Attributes例如:res/values/attrs.xml<resources> <declare-styleable name=""> <原创 2016-03-09 20:41:50 · 600 阅读 · 0 评论 -
android 自定义组件中常用的方法
1.protected void onAttachedToWindow ()这个方法是在组件附加到窗口时调用的,此时它有个界面然后会进行绘画。注意这个方法是确保在 onDraw() 方法前调用的。然而它也可以在第一次onDraw() 前的任意时间内被调用,包括在onMeasure() 方法调用之前。 利用这个特性,我们可以在这个方法里执行多线程来使我们自定义组件可动态。public void s原创 2016-03-17 17:00:28 · 414 阅读 · 0 评论 -
安卓自定义组件及其操控
在写这篇博客时,我做了一个自定义时钟组件,并要求能用按钮能控制它的启动或制止。这个时钟是用多线程来实现的,因此我设定了一个running 来判断时钟的运行状态,因此也可以作为多线程的循环条件。(关于自定义组件的绘制请看我前面的文章来学习,这里就不讲绘图的代码了) 在我的MyClock.java自定义组件类中使用下面的TimeTask.java内部类来时指针运转。private class Time原创 2016-03-18 23:55:43 · 542 阅读 · 0 评论 -
安卓触屏事件--对象,监听器,属性,行为,多点触摸,MoMotionEvent常用方法
1.触屏事件对象是通过MotionEvent 对象进行封装的,常用的事件类型是定义在MotionEvent 中的常量。我们通过getActionMasked() 方法。科普: getAction()与getActionMasked()getAction()和getActionMasked()都是用来获取事件的信息。不同的是getAction()可以获得事件的指针ID和类型信息。get原创 2016-03-23 11:53:38 · 4157 阅读 · 0 评论 -
减小android button的大小
当我们仅需要按钮的大小恰当包裹其中文本的大小,尽可能减小多余的空白空间。第一种方式:我们可以直接设置button属性:minHeight和minWidth例如:android:minHeight="0dp"android:minWidth="0dp"例如:<Button android:id="@+id/btn1" android:layout_width="wrap_conten原创 2016-03-29 16:33:57 · 19293 阅读 · 2 评论 -
AsyncTask入门
什么是AsyncTaskAsyncTask是安卓提供的一个抽象类,有助于我们更好地使用UI线程。它允许我们执行耗时或后台的操作并将结果展示在UI线程而不必操作线程。何时使用AsyncTask安卓实现的是单线程模型,每当启动安卓应用,一个线程就会被创建。假设我们正要做联网操作在我们的应用程序按钮上,一点击这个按钮,一个请求就会被发送给服务器,而且回复会被等待。由于安卓的单线程模式,直到等待时间先被响应翻译 2015-12-21 21:13:57 · 329 阅读 · 0 评论 -
okhttp使用入门
获取client在okhttp官方说明中建议只使用一个全局OkHttpClient对象。所以我们这样创建一个OkHttpClient对象:final static OkHttpClient client = new OkHttpClient();这个okhttp client会获取你的请求,发送它给服务器,然后返回服务器的响应给你。创建缓存使用缓存是可选的,但如果你想让你的app网络连接更快(同时也原创 2016-01-01 10:59:11 · 479 阅读 · 0 评论 -
TextView的常用属性
TextView有一些属性可以在Text的四周(上下左右)设置一个drawable对象,图片,shape等合法的drawable都可以用。drawableLeft/Top/Bottom/Rightdrawablestart/end 当语言方向发生变化时,会换边,LTR语言drawableStart在左边,而drawableEnd在右边;但对于RTL语言来说就会反过来drawableStart在右原创 2015-12-11 10:04:44 · 595 阅读 · 0 评论 -
notification progress bar sample
编写一个Notification通知栏进度条,用于显示等待用户输入时的状态:在主界面上首先显示一个文本输入框,一旦用户要在其中输入文字内容,则显示一个Notification通知,当用户输入完成时,则告知已完成输入。 activity_main.layout:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="原创 2015-12-13 20:44:24 · 338 阅读 · 0 评论 -
AsyncTask入门(二)
在它的代码中,AsyncTask是你拓展的一个抽象类,和提供用于一个耗时的异步任务的基本框架。 最恰当的一个描述AsyncTask的方式是把它当作一个工作线程三明治。也就是说,它有三个主要的方法可以提供给你实现。onPreExecute 发生在主线程,是它的第一片面包干。它建立任务,准备载入对话框,和提醒用户将要发生的事。onInBackground 是这个小任务三明治的肉饼(也是必要的翻译 2015-12-28 10:44:55 · 267 阅读 · 0 评论 -
notification sample
activity_main:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_he原创 2015-12-13 20:39:22 · 300 阅读 · 0 评论 -
安卓listview加载来自json的数据
你将会学到如何在安卓中从URL加载数据,如何定义安卓ListView和如何在安卓ListView组件中使用JSON格式。你将会见到如何在一个使用多线程的异步方法中从URL下载数据,如何提取一个使用开放的json库JSON格式数据和如何定义一个定制ListView的adapter.布局设计让我们来创建一个新的安卓工程。 在activity_main.xml 布局中添加ListView组件<Relat翻译 2015-12-28 21:45:51 · 2884 阅读 · 0 评论 -
Toolbar示例代码
一个简单的toolbar示例效果 acitivity_main.layout<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" androi原创 2015-12-14 13:27:32 · 304 阅读 · 0 评论 -
安卓开发中的优秀工具
一:ProGuard介绍:当你的发行应用中有涉及使用support library时,强烈建议你使用ProGuard。它可以将你应用程序中未使用的library code移除,并且使用语意朦胧的代码名重命名你的代码。这样就可以收缩优化你的应用程序大小,并且混淆你的源代码以此来保护你的程序。只用当你决定在应用市场发行时,你才使用它。除此之外,并不需要使用到,难不成你会在debug你的代码时为难你自己?翻译 2015-12-14 18:58:47 · 379 阅读 · 0 评论 -
android studio导入第三方包
我们以导入okhttp库为例。获取库android studio是很方便区获得第三方库并加载到你的app中。打开android studio,选择File>Project Structure,将弹出如下窗口。 选择模块,在这里的app,然后点击Dependencies框。 要增加库,点击右上角绿色“+”号或者按Alt+insert键然后从弹出的窗口中选择Library dependency。原创 2016-01-01 09:25:49 · 646 阅读 · 0 评论 -
debug 的三种单布执行方式(step)
单步进入(Step Into)一次执行一个语句当不是在设计模式(程序正在建立的状态,比如添加项目),单布进入阻塞模式在当前执行的行,如果该语句是一个过程的调用,那么下一条出现的语句是这个过程的第一条语句。在设计时间段,菜单项开始执行并在第一行代码执行前进入阻塞模式。 如果当前没有可执行的点,单布进入模式可能什么都不做,直到你做了什么触发代码,比如点击了一个文按钮。 我们可以用这原创 2016-03-26 16:11:11 · 1632 阅读 · 0 评论