android
文章平均质量分 61
q2014818
这个作者很懒,什么都没留下…
展开
-
android lint的使用
一、Lint的概念 Lint是Android SDK提供的一个静态代码扫描工具,它可以用来检查源码当中潜在的错误,可以优化和改进代码中的这几类问题:正确性、安全性、性能、易用性、可访问性和国际化。更详细信息可以参考:http://developer.android.com/tools/help/lint.htmlhttp://developer.android.com/tools/d原创 2016-01-25 18:47:00 · 440 阅读 · 0 评论 -
Training->Using Network Service Discovery
在你的应用中增加Network Service Discovery(NSD), 可以让你的用户在同一个网络中找到需求的服务。这对各种点对点的应用非常有用,例如文件共享或者多人一起游戏。Android NSD的API可以让你轻易的实现这些功能这一课教大家如何去广播自己设备服务的名字和网络信息,如何去获取其他设备服务的名字和网络信息。最后讲的是,如何使用不同的设备连接到同一个使用中。Regi翻译 2015-12-02 09:26:32 · 749 阅读 · 0 评论 -
《疯狂Java讲义(第2版)》学习笔记:使用DatagramSocket发送接收数据
一、类介绍:1、DatagramSocket:唯一的作用是用来发送和接收数据,不维护状态,不能产生IO流。本身只是码头。 创建实例的时候,就指定了IP和端口号(可以使用默认IP),有两个主要方法: receive(DatagramPacket p):监听指定IP(通常是默认)和端口号,从该DatagramSocket中接收数据报。 send(Datagram原创 2015-11-24 17:26:03 · 774 阅读 · 0 评论 -
引用样式属性(Referencing style attributes)?attr
一、问题描述有时候在代码中,看到如下代码:android:textColor="?android:textColorSecondary"就会有如下疑问:1、textColor不是需要一个颜色值吗?2、?android:textColorSecondary是什么意思呢?二、解决问题查看Android的文档,http://developer.android.com/原创 2015-11-23 15:10:40 · 988 阅读 · 0 评论 -
anymote server 配对时序图
一、时序图原创 2015-12-09 13:46:28 · 475 阅读 · 0 评论 -
android 原生联系人的编辑界面简单记录
时序图:类说明:1、 RawContactEditorView:联系人的信息都在这个界面编辑,例如名字、手机号码等。2、 KindSectionView:显示联系人的一个数据类型,如电话号码,可以会有多个电话号码。3、 TextFieldsEditorView:显示一条联系人数据,如电话号码的类型及号码。4、 LabeledEditorView:编辑da原创 2015-11-17 14:03:38 · 1187 阅读 · 0 评论 -
按字母加载联系人的数
一、源码 Uri uri = Phone.CONTENT_URI .buildUpon() .appendQueryParameter(Data.EXTRA_ADDRESS_BOOK_INDEX, "true") .build(); Cursor cursor = getContentResolver().query(uri, new原创 2015-10-15 19:58:07 · 810 阅读 · 0 评论 -
API Guides > Loaders
一、前言: 1、原文链接:http://developer.android.com/guide/components/loaders.html 2、如果上面链接访问不了,可以访问国内镜像链接:http://wear.techbrood.com/guide/components/loaders.html 3、另外,别人翻译的一系列关于LoadManager的文件,翻译 2015-10-15 13:07:31 · 346 阅读 · 0 评论 -
API Guides > Contacts Provider (二)
Data From Sync Adapters用户直接输入联系人的数据到设备中,但是也可以通过sync adapters从服务器上获取联系人的数据。sync adapter 会自动同步设备和服务器上的数据。sync adapter运行在后台,由系统来控制。系统调用ContentResolver去管理数据。在Android中,和sync adapter一起工作的服务器是由账户类型表示翻译 2015-10-27 17:21:45 · 618 阅读 · 0 评论 -
eclipse出现: Android sdk content loader 0%
有时候开启eclipse的时候,就会出现这个问题,有以下几种方法可以尝试:1、ctrl + alt + Delete 打开资源管理器,查看一下,是否有adb的进程。如果有,则删掉这个进程,重启eclipse,看看问题能否解决。2、 删除 C:\Users\用户名\.android 下的所有文件,重启eclipse。这个方法通常能解决问题。3、删除work space目录下 .meta原创 2015-10-12 13:09:35 · 398 阅读 · 0 评论 -
View 随着手指的移动而放大和旋转
一、效果 如上图,手指头放在mExpendItemView,当手指头移动的时候,mTouchImageView随着mExpendItemView的移动而缩放和旋转二、关键源码 private void initAttribute() { mCenterX = mTouchImageView.getX() + mTouchImageView.getWidth(原创 2015-09-22 11:47:15 · 731 阅读 · 0 评论 -
android 图片缩放
一、基本步骤 1、在touch down的时候,记录两个手指头的初始距离,记录初始 比例 2、在move的时候,通过现在的距离除以初始距离,算出缩放比例。缩放比例乘以初始比例,就是当前比例 3、设置图片矩阵的scale和translate。设置的原理如下图: 1) bitmap矩阵先放缩到和ImageView一样大 2)移b原创 2015-09-19 11:49:39 · 377 阅读 · 0 评论 -
API Guides > Contacts Provider
Contacts Provider Contacts Provider是Android的一个强大组件,它管理联系人的核心数据。你在手机联系人看到联系人信息,来源于Contact Provider。当然,你可以在自己的应用用访问ContactProvider的数据,也可以同步手机和服务器的的联系人数据。Contact Provider存储很多类型的数据,而且为每个联系人尽可能多的保存数据翻译 2015-10-20 23:06:27 · 731 阅读 · 0 评论 -
The Ins and Outs of Gradle(Gradle的来龙去脉)---- 学习笔记 1
原文链接地址为:http://code.tutsplus.com/tutorials/the-ins-and-outs-of-gradle--cms-229781. What is Gradle?Gradle是一个自动化构建工具,可以通过插件,继承到不同的环境中。在Android studio中,继承Gradle的插件的名称是Android Gradle plugin。Gr原创 2016-01-27 22:37:48 · 466 阅读 · 0 评论 -
安装Android adb驱动
使用谷歌标准的usb driver,安装adb驱动的时候,有些手机会安装不成功。可以尝试把手机的VID/PID加入到android_winusb.inf文件里。(有些手机并不适用,可能是有些手机厂商自己定制了驱动)方法如下:1、查找VID/PID 选择 计算机----属性-----设备管理----其他设备 右键点击未识别的设备,选择 属性-----详细信息-原创 2016-01-28 13:00:16 · 1179 阅读 · 0 评论 -
android 的文件存储
总共分成三类:1、内部存储使用getFileDir()获取到存储路径,存储在/data/data/your.package.name/files。使用getCacheDir()获取到存储路径,存储在/data/data/your.package.name/cache。缓存文件,资源不足会被删除。在应用卸载后,内存存储的文件都会被删除。2、外部私有存储外部存储和内部存储的一个原创 2016-02-12 23:21:05 · 374 阅读 · 0 评论 -
android api学习笔记:进程
1.、、 和 —均支持 android:process 属性,指定该组件应在哪个进程运行2.进程重要性层次结构一共有 5 级:前台进程,前台进程,服务进程,后台进程,空进程3。Android 提供了几种途径来从其他线程访问 UI 线程: Activity.runOnUiThread(Runnable),View.post(Runnable),View.postDelayed原创 2017-09-04 11:27:14 · 312 阅读 · 0 评论 -
android API学习笔记:AIDL
1.AIDL: Android Interface Definition Language,Android 接口定义语言2.IPC:Inter-Process Communication进程间通信原创 2017-08-14 17:42:13 · 375 阅读 · 0 评论 -
Android api学习笔记:绑定服务
一. 创建提供绑定的服务时,您必须提供 IBinder,用以提供客户端用来与服务进行交互的编程接口。 您可以通过三种方法定义接口:扩展 Binder 类(统一应用中);使用 Messenger(IPC单进程处理请求队列);使用 AIDL(IPC 多进程)二.扩展Binder的实现:以下是具体的设置方法:https://developer.android.google.cn/原创 2017-08-11 17:27:16 · 341 阅读 · 0 评论 -
android api学习笔记:service
1.服务有两种:start (需要实现onStartCommand()回调), bind(需要实现onBind()回调),可以同时start和bind 服务在其托管进程的主线程中运行,2.intent service:只需实现 onHandleIntent() 来完成客户端提供的工作即可3.onStartCommand() 返回的值必须是以下常量之一:START_NOT原创 2017-08-11 15:14:11 · 347 阅读 · 0 评论 -
android api学习笔记:任务和返回栈
1. 即使这两个 Activity 可能来自不同的应用,但是 Android 仍会将 Activity保留在相同的任务中,以维护这种无缝的用户体验2. 任务是指在执行特定作业时与用户交互的一系列 Activity。 这些 Activity 按照各自的打开顺序排列在堆栈(即返回栈)中。原创 2017-08-11 10:56:30 · 164 阅读 · 0 评论 -
android api gui 学习笔记---Fragment(片段)
1. 片段必须始终嵌入在 Activity 中,其生命周期直接受宿主 Activity 生命周期的影响2. Activity 中的每个返回栈条目都是一条已发生片段事务的记录。 返回栈让用户可以通过按返回按钮撤消片段事务3.还可以将没有自己 UI 的片段用作 Activity 的不可见工作线程(有啥用?)4.生命周期:https://developer.android.google.cn原创 2017-07-19 10:47:40 · 193 阅读 · 0 评论 -
DETECTED ERROR IN APPLICATION: JNI GetMethodID called with pending exception java.lang.NoSuchMethodE
06-19 10:42:05.932 6129-6138/com.android.messaging E/ProviderLeakDetecter: bad request for cursor:190953354.06-19 10:42:05.933 6129-6138/com.android.messaging E/ProviderLeakDetecter: bad request for原创 2017-06-19 18:35:27 · 4445 阅读 · 0 评论 -
android targetSdkVersion的作用
请参考:https://www.race604.com/android-targetsdkversion/为了兼容以前的版本,如何设置targetSdkVersion,那你的apk就算运行在更高级的版本上,如果API行为有所变化,也会使用你设置的targetSdkVersion的行为,而不是更高级版本的行为。如果没有设置targetSdkVersion,我使用android原创 2017-05-25 19:04:42 · 487 阅读 · 0 评论 -
android 布局控件id的+号
我们在写android布局文件的时候,要引用资源对象的时候,都要用@符号。 在定义一个控件的id时,会使用@+id/id_name 来使用id,如下例子:<ImageView android:id="@+id/iv_icon" android:layout_width="@dimen/iv_width" android:layout_height="@dimen/iv_he原创 2017-04-06 18:26:15 · 533 阅读 · 0 评论 -
android 7.0 system UI之快速启动栏的分析(一)
作者:jason.chen 从状态栏往下拉的时候,就会出现“快速设置”界面,如下图所示。快速启动界面可以让用户快速设置和操作。对于急需或频繁使用的控件和操作,保留“快速设置”图块,且不应将其用作启动应用的快捷方式。android7.0添加了新的API,让开发者可以为自己的应用添加快速设置图标。这篇文件将要分析快速启动的设计。当然,只是个人见解。转载 2016-12-27 16:06:49 · 467 阅读 · 0 评论 -
Android 使用JmDNS查找和注册设备
JmDNS是multi-cast DNS的java实现,可以用来在局域网中查找设备和注册设备,而且不需要额外的配置。它可以获取到设备的IP, 端口号,服务类型,名称等信息。通过这些信息,就可以方便地实现设备互联。 这里有一个比较重要的概念是:服务类型。简单来说,服务类型阐述了该设备能提供的服务。它的格式是:_._。例如网络打印服务,它的类型为“_ipp._tpc.”。想要查看更多的服务类转载 2016-06-27 10:55:03 · 3601 阅读 · 2 评论 -
Android Studio快捷键
一、快捷键设置的地方:file----setting----keymap,就可以看到所有的快捷键二、常用快捷键1. ctrl + n: 打开一个类(class)文件,会根据输入提示2.ctrl + shift +n 打开一个文件,会根据输入提示3. ctrl + e原创 2016-03-11 21:39:54 · 359 阅读 · 1 评论 -
android 9png的效果a
9png图片就是一个普通的png图片,四周多了1 px的黑边,名字以.9.png结尾。那么,四周的黑边是什么意思呢?1.左边和上面的黑边,是用来拉伸的。2.右边和下面是用来确定内容显示范围的。图片来源:http://developer.android.com/images/ninepatch_raw.png上图的灰色点是用来拉伸的。下图的粉红色矩形,是用来显示内容的。内原创 2016-03-17 00:37:18 · 328 阅读 · 0 评论 -
LayoutParams定义的长宽、位置等和getLeft和getWidth之间的关系
今天做项目的时候,碰到一个问题:1、在onCreate的时候,我想设置View的大小的位置,我调用View.setLeft(),View.setRight(),View.setTop(),View.setBottom()等属性,结果不起作用。。。。2、回来改变它的LayoutParams的LayoutParams.width,LayoutParams.height = height,Lay原创 2015-09-12 17:03:21 · 2262 阅读 · 0 评论 -
高效异步加载图片
代码是参考参考谷歌的开发文档:http://developer.android.com/training/displaying-bitmaps/index.html private class LoadBitmapTask extends AsyncTask { @Override protected Bitmap doInBackground(Integer... params)转载 2015-09-29 17:23:26 · 314 阅读 · 0 评论 -
android ViewPager+FragmentStatePagerAdapter无限循环FragmentStatePagerAdapter
使用ViewPager 和FragmentStatePagerAdapter做翻页效果的话,当从最后一页换到第一页的时候,动画效果会从最后一页倒滑到第一页。下面介绍一种方法,可以让ViewPager无限的翻页。代码如下:public class MyFragmentStatePagerAdapter extends FragmentStatePagerAdapter{ p原创 2015-06-03 19:28:55 · 2205 阅读 · 2 评论 -
[API GUIDE 学习笔记]android MediaPlayer 播放视频
一、使用方法 MediaPlayer可以播放以下资源:Local resourcesInternal URIs, such as one you might obtain from a Content ResolverExternal URLs (streaming)uri3 = Uri.parse("android.resource://" + getPack原创 2015-05-29 17:23:52 · 574 阅读 · 0 评论 -
android accessibility
主要介绍如开发作符合accessibility规范的应用,和开发自己的accessibility service。一、开发作符合accessibility规范的应用(Making Applications Accessible) 主要有以下三点: 1. Labeling User Interface Elements 这点很简单,如果你都用an原创 2015-03-09 14:48:40 · 2067 阅读 · 0 评论 -
eclipse 搭建android5.0的开发环境
Android Developer Tools(ADT)的版本需要23及以上,建议使用adt-bundle-windows-x86-20140702。接下来就很简单了,有以下几步:1、安装JDK1.8,并把eclipse的JDK配置成1.7的版本2、要拷贝android-21到sdk/platforms目录下。3、把/platforms/android-20/data/layout原创 2015-03-17 19:45:11 · 1277 阅读 · 0 评论 -
去掉ListView选中背景
ColorDrawable d = new ColorDrawable(0xff555555);mListView.setSelector(d);转载 2015-02-27 17:32:34 · 372 阅读 · 0 评论 -
android属性动画
属性动画的工作原理,主要有三个步骤:1、记录时间流逝。监听ValueAnimator.AnimatorUpdataListener 会得到一个 0 -1之间的值,代表时间的流逝。0表示经过0%的时间,1表示经过100%的时间。2、根据 TimeInterpolator和时间参数计算出另一个值。3、根据第二步计算的值和TypeEvaluator计算出属性值。原创 2014-12-15 21:18:16 · 380 阅读 · 0 评论 -
自定义选中高亮背景
<!-- Copyright (C) 2011 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.转载 2014-11-24 12:07:39 · 401 阅读 · 0 评论 -
android ui常用 单位:dp,sp,px
首先了解一个概念,dpi:每英寸的像素数量(dots per inch)。android设备上通常有这几种dpi:160dpi,240dpi,320dpi。指的就是每英寸上像素的数量,dpi越高,像素越密集,显示的越清晰。1、dp:设备独立像素(Density-independent Pixels),在不同的dpi上,能显示相同的大小。它以160dpi为基准,在160dpi上,1d原创 2014-11-26 15:31:03 · 441 阅读 · 0 评论 -
简单设置view动画
view.animate().translationX(0).setDuration(300).setListener(null);转载 2014-11-25 19:16:26 · 392 阅读 · 0 评论