
Android研究篇
文章平均质量分 71
Big_big_Gu
Big_big_Gu,一如既往都是你。
展开
-
openGrok搭建实践-踩坑记录
一. openGrok搭建流程参考首先肯定是openGrok官方教程了,https://github.com/oracle/opengrok/wiki/How-to-setup-OpenGrok二. 环境配置环境配置其实主要还是参考openGrok官方教程要求了,下面罗列几个重要的。1. open jdk112. ctags使用的是universal-ctags,具体怎么安装,参考github上说明https://github.com/universal-ctags/c.原创 2021-01-20 00:45:55 · 2281 阅读 · 1 评论 -
Android Application的作用
学习android挺长时间了,但是对于Appliction还不是很了解。今天花一些时间研究了一下Application。 What is ApplicationApplication和Actovotu,Service一样是android框架的一个系统组件,当android程序启动时系统会创建一个 application对象,用来存储系统的一些信息。通常我们是不需要指定一个Appli转载 2012-12-05 20:29:58 · 530 阅读 · 0 评论 -
仿QQ注册圆形进度对话框...
1、styles.xml true @null true ">@color/sc_transparent true #00ffffff2.dialog_layout原创 2012-12-05 16:07:27 · 762 阅读 · 0 评论 -
android自定义控件(一)之一个简单Demo
很多时候android常用的控件不能满足我们的需求,那么我们就需要自定义一个控件了。今天做了一个自定义控件的实例,来分享下。首先定义一个layout实现按钮内部布局: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_原创 2012-11-21 15:40:34 · 947 阅读 · 0 评论 -
Android 菜单(OptionMenu)大全 建立你自己的菜单
菜单是用户界面中最常见的元素之一,使用非常频繁,在Android中,菜单被分为如下三种,选项菜单(OptionsMenu)、上下文菜单(ContextMenu)和子菜单(SubMenu),今天这讲是OptionsMenu 一、概述 public boolean onCreateOptionsMenu(Menu menu):使用此方法调用OptionsMenu 。 public转载 2012-12-03 21:40:56 · 499 阅读 · 0 评论 -
TabHost子界面跳转特效
package gjz.bluetooth;import android.content.Context;import android.util.AttributeSet;import android.view.animation.Animation;import android.view.animation.TranslateAnimation;import androi原创 2012-11-18 19:48:15 · 1229 阅读 · 1 评论 -
Android 如何让EditText不自动获取焦点
在项目中,一进入一个页面, EditText默认就会自动获取焦点。那么如何取消这个默认行为呢?在网上找了好久,有点 监听软键盘事件,有点 调用 clearFouse()方法,但是测试了都没有! xml中也找不到相应的属性可以关闭这个默认行为解决之道:在EditText的父级控件中找一个,设置成 android:focusable="true" a转载 2012-10-25 14:34:24 · 1132 阅读 · 0 评论 -
带下拉刷新操作的ListView
我们在做一些Listview的时候为了便于用户操作通常需要这种功能,向下拉动Listview列表时候可以进行对列表的更新操作。我们知道系统自带的列表功能是非常少的,而为了让我们工程的列表能有我们想要的功能,我们自然而然想对Listview进行自定义 MyListView类:public class MyListView extends ListView implements OnS原创 2012-11-29 21:32:13 · 725 阅读 · 0 评论 -
java中float/double浮点数的计算失去精度问题(即小数位数增加的问题)
今天在数值计算时碰到一个问题.程序如下:double a = (3.3-2.4)/0.1;System.out.println(a);你可能认为结果很简单,不就是9嘛,是事实上,结果为:8.999999998,为什么呢?我翻阅了一些资料,终于找出了原因.为什么浮点数会丢失精度? 十进制数的二进制表示可能不够精确浮点数或是双精度浮点数无法精确表示的情况并不少见。浮点数值转载 2012-11-29 20:48:39 · 892 阅读 · 0 评论 -
ProgressDialog与ProgressBar介绍
前言Android的Widget,有许多是为了与User交互而特别设计的,但也有部分是作为程序提示、显示程序运行状态的Widget。如ProgressDialog与ProgressBar就能再UI中动态显示一个加载图标显示程序运行状态。ProgressDialog是继承自Android.app.ProgressDialog所设计的互动对话窗口,在应用时,必须新建ProgressDi原创 2012-11-14 20:19:08 · 1217 阅读 · 0 评论 -
Android判断网络是否打开,并打开设置网络界面
由于Android的SDK版本不同所以里面的API和设置方式也是有少量变化的,尤其是在Android 3.0 及后面的版本,UI和显示方式也发生了变化,现在就以打开网络设置为例,同大家分享一下,效果如下: 1. 首先先看一下Android 判断网络是否已打开(如果直接写在Activity里面,则可以不需要参数)/* * 判断网络连接是否已开 * 2转载 2012-11-28 22:41:46 · 716 阅读 · 0 评论 -
Hanlder一些功能介绍
一、简单说明 Handler一般有两种用途:1)执行计划任务,你可以再预定的实现执行某些任务,可以模拟定时器。2)线程间通信。在Android的应用启动时,会创建一个主线程,主线程会创建一个消息队列来处理各种消息。当你创建子线程时,你可以再你的子线程中拿到父线程中创建的Handler对象,然后再子线程中定义一个Runnable对象,就可以通过该对象把Runnable对象的对UI操作发送到原创 2012-11-13 23:04:21 · 1376 阅读 · 1 评论 -
Android录音时指针摆动的实现
本文中实现录音时候、指针摆动的功能主要是参考SoundRecorder的。主要是其中的VUMeter类,VUMeter是通过Recorder.getMaxAmplitude()的值计算,画出指针的偏移摆动。下面直接上代码:VUMeter类:package hfut.geron.record;import hfut.geron.memorybook.R;import andro原创 2012-11-06 19:56:53 · 1792 阅读 · 1 评论 -
使用Observer模式解决图片拖动与缩放
1、java内置的观察者模式:由Java 中的Observable 类和 Observer 接口组成(1) Observable 类代表 被观察者 (java.util.Observable )主要方法有:void setChanged() : 设置被观察者的状态已经被改变void addObserver(Observer observer) : 添加观察者int原创 2012-08-14 13:52:12 · 1898 阅读 · 1 评论 -
Android如何自适应多种屏幕手机?
接触安卓有一段时间了,个人感觉安卓页面自适应这块比web复杂的多,因为手机开发要考虑多种屏幕,下面就对这块做一下总结: 一:不同的layout Android手机屏幕大小不一,有480x320, 640x360, 800x480.怎样才能让Application自动适应不同的屏幕呢? 其实很简单,只需要在res目录下创建不同的layout文件夹,比如layout-640x转载 2012-11-04 10:59:34 · 815 阅读 · 0 评论 -
GridView的监听,选择,美化等详解
工作这么久以来,都是以解决需求为目标。渐渐发现这种学习方式不好,学到的知识能马上解决问题,但没有经过梳理归纳。故想系统总结下一些有趣味的知识点。在这篇博客中想以一个例子系统讲解下GridView控件涉及到的方方面面,比如监听,背景图的设置等。 1.控件属性介绍 android:listSelector="@drawable/bg" //该属性很重要,如果不设置的转载 2012-10-24 16:26:13 · 1316 阅读 · 0 评论 -
android屏幕常亮保持(WakeLock & WifiLock的实现)
在android中,申请WakeLock可以使进程持续执行,即使进入睡眠模式,进程的执行也不间断,而且能保持屏幕常亮。WifiLock跟WakeLock用法作用与WakeLock相同,不过前者是针对Wifi的而已。SMS Backup中关于WakeLock以及WifiLock的代码如下:123456789101112转载 2012-11-01 14:33:47 · 2232 阅读 · 0 评论 -
Android中自定义ListView无法响应OnItemClickListener中的onItemClick方法问题解决方案
在Android软件设计与实现中我们通常都会使用到ListView这个控件,系统有一些预置的Adapter可以使用,例如 SimpleAdapter和ArrayAdapter,但是总是会有一些情况我们需要通过自定义ListView来实现一些效果,那么在这个时候,我们通常会碰到自定义ListView无法选中整个ListViewItem的情况,也就是无法响应ListView的 onItemClickL转载 2012-11-22 22:59:53 · 596 阅读 · 0 评论 -
SharedPreference介绍
Android中四种保存数据的方法之一,一般常用来记录登录的账号密码之类的信息。生成SharePreference:SharedPreferences msp= MenuActivity.this.getSharedPreferences("AddrInfo", Context.MODE_PRIVATE); SharedPreferences.Editor editor=msp.原创 2012-11-23 11:07:49 · 632 阅读 · 0 评论 -
android中shape详解
在通常情况下,为"布局","控件"等view设置设置背景,渐变或者有一个特殊等效果都是采用图片和颜色, 但是图片可能会面临被拉伸的风险(也可以9.png来处理解决), 单纯使用颜色要是现实特殊效果难以实现。所以当你想为你的应用是现在炫丽的效果时间, shope是你当仁不让的选择。下面总结一下Shape的所有子属性:gradient -- 对应颜色渐变。 startcolor、endco原创 2012-12-06 20:55:54 · 611 阅读 · 0 评论 -
Android 9源码下载+编译+Pixel 2XL刷机
主要流程参考下面链接就可以了,主要记录下编译刷机过程中的一些坑。使用的Ubuntu 16.04LTS系统版本1. 使用清华大学的镜像AOSP地址repo下载源码https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/2. 具体下载哪个机型以及对应aosp分支参考https://source.android.google.cn/setup/s...原创 2019-07-20 14:11:29 · 2140 阅读 · 0 评论 -
win+Unbuntu16.04(华硕UEFI启动)双系统建立
最近打算装个Ubuntu来编译android源码,拿出多年不用的windows笔记本来装个双系统,Ubuntu系统装上去了但是原来好使的easyBCD用不了,都是灰色的无法新增引导项,研究了下,是因为新的笔记本BIOS启动模式都是走的UEFI,所以Ubuntu安装的时候磁盘分区的时候,需要多挂载一个uefi启动盘,安装引导启动器的设备的时候需要对应上挂在的启动盘,这样就好了。这里有个印象...原创 2019-07-14 19:42:55 · 680 阅读 · 0 评论 -
Android Service的启动方式
Service没有用户界面,运行与后台。一般用于给前台Activity提供特定服务。服务不能自己运行,启动Service的方式有两种:Context.startService 或 Context.bindService。(一)startService 使用startService()方法启用服务后,调用者与服务之间没有关连。调用者直接退出而没有调用stopService的话,转载 2014-09-02 11:23:32 · 648 阅读 · 0 评论 -
关于ListView中notifyDataSetChanged()刷新数据不更新原因
使用Listview的时候: 当要动态显示更改后的数据(例如数据库改动), 很多人应该都用过notifyDataSetChanged();这个方法来刷新Listview,显示改后的数据.chatlist.clear();chatlist.addAll(msgDB.getMsg(uname));//这样操作可以防止notifydatasetchanged动态更新不了adapter.noti原创 2013-07-29 09:55:13 · 1009 阅读 · 0 评论 -
java字符串应用之字符串编码转换
无论是对程序的本地化还是国际化,都会涉及到字符编码的转换的问题。尤其在web应用中常常需要处理中文字符,这时就需要进行字符串的编码转换,将字符串编码转换为GBK或者GB2312。一、关键技术点: 1、当前流行的字符编码格式有:US-ASCII、ISO-8859-1、UTF-8、UTF-16BE、UTF-16LE、UTF-16、GBK、GB2312等,其中GBK、GB2312是专门处理转载 2013-08-01 17:12:26 · 758 阅读 · 0 评论 -
Android NotificationManager 和Notification的使用总结
(1)、使用系统定义的Notification以下是使用示例代码://创建一个NotificationManager的引用String ns = Context.NOTIFICATION_SERVICE;NotificationManager mNotificationManager = (NotificationManager)getSystemService(ns);//原创 2013-07-01 16:31:41 · 780 阅读 · 0 评论 -
Eclipse断点调试
作为开发人员,掌握开发环境下的调试技巧十分有必要。去年就想把关于Eclipse断点调试总结下了,由于对时间的掌控程度仍需极大提高,结果拖到今年才写了此篇博文。关于java调试技术还有很多,如Java Debug Interface等,依据具体项目的需要,还有很多值得去研究和学习的。该博文仅就Eclipse断点调试技巧做下总结,不足够的地方还请大牛们指点。1 Debug视图1.1 线程堆栈转载 2013-07-18 09:12:25 · 820 阅读 · 0 评论 -
Android中Activity启动模式详解
在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作。在Android中Activity的启动模式决定了Activity的启动运行方式。 Android总Activity的启动模式分为四种,如下Activity启动模式设置: Activity的四种启动模式:. standard 模式启动模式,转载 2013-07-02 20:34:03 · 653 阅读 · 0 评论 -
android实现程序的后台运行
改写返回键事件监听,使得back键功能类似home键,让Acitivty退至后台时不被系统销毁,代码如下: public boolean onKeyDown(int keyCode, KeyEvent event) { PackageManager pm = getPackageManager(); ResolveInfo homeInfo =转载 2013-07-01 14:14:47 · 943 阅读 · 0 评论 -
android 使用广播监听网络状态
手机可以随时监听网络状态,如果网络状态发生变化要及时的更新 app 信息通知用户。实现这个需求,有个较好的办法(个人认为,你一定有更好的办法,希望分享),分享给大家!随时监听,需要实现一个 service 在后台监听网络状态,那麽如何接收到网络状态发生变化的信息呢?恩,当然是 BroadcastReceiver.网络状态发生变化的时候,系统会转载 2013-07-01 09:27:39 · 858 阅读 · 0 评论 -
Java NIO 详解 Buffer类
Buffer类基本概念: 一般而言,Buffer的数据结构是一个保存了原始数据的数组,在Java语言里面封装成为一 个带引用的对象。Buffer一般称为缓冲区,该缓冲区的优点在于它虽然是一个简单数组,但是它封装了很多数据常量以及单个对象的相关属性。针对 Buffer而言主要有四个主要的属性:容 量(Capacity):容量描述了这个缓冲区最 多能够存放多少,也是Buffer的最大转载 2013-06-27 13:43:14 · 983 阅读 · 0 评论 -
Android中dispatchTouchEvent, onInterceptTouchEvent, onTouchEvent的理解
关于Android的Touch处理过程还是挺复杂的,为了方便后期使用,整理下相关资料如下:首先触发ACTIVITY的dispatchTouchEvent然后触发ACTIVITY的onUserInteraction然后触发LAYOUT的dispatchTouchEvent然后触发LAYOUT的onInterceptTouchEvent1.对GroupView中onIn原创 2013-05-20 16:24:36 · 1211 阅读 · 0 评论 -
Android中资源文件夹res/raw和assets的使用
*res/raw和assets的相同点:1.两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制。*res/raw和assets的不同点:1.res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源ID即R.id.filename;assets文件夹下的文件不会被映射到R.java中,访问的时候需要AssetManager类。2.r转载 2013-05-18 16:59:52 · 1039 阅读 · 0 评论 -
自定义RadioButton 文字在下,图片在上
<LinearLayout android:id="@+id/status_toolbar" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:orientation="hori原创 2012-12-30 16:16:32 · 6322 阅读 · 2 评论 -
android java.lang.NoClassDefFoundError: xxxxx
在我们开发中,往往需要加入一些jar包,但是有时候会莫名其妙的报一些找不到类的异常,如:这个是我在做消息推送的时候遇到的,其实我们在发开地图应用的时候也会遇到过,这是为什么呢,其实就是因为ADT版本,总结一下,adt18中引入jar包,只需要将jar包拷入工程的libs目录下,不需要再add to build path,系统会自动将libs下的jar包添加到build path(实转载 2012-12-13 11:27:01 · 700 阅读 · 0 评论 -
使用友盟SNS_SDK为Android应用加入SNS分享、同步功能
很多朋友在开发Android应用的过程中,都想加入社会化的分享功能,如将自己的应用使用状态或心得同步到新浪微博、人人网或腾讯微博等。这些社交网络或微博都已经发布了针对开发者的开放平台(关于开放平台的相关信息,请参考《说说微创业——关于开放平台和微时代》),因此我们可以将这些分享功能集成到自己的应用中,提高用户的互动性和产品推广效果。将应用与社会化网络联系起来已经成为现在移动开发的主流趋势之一。转载 2012-12-12 13:53:16 · 1945 阅读 · 0 评论 -
Android 对话框(Dialog)大全 建立你自己的对话框
Activities提供了一种方便管理的创建、保存、回复的对话框机制,例如 onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog(int), dismissDialog(int)等方法,如果使用这些方法的话,Activity将通过getOwnerActivity()方法返回该Activity管理的对话框(dialog).转载 2012-11-01 14:53:47 · 480 阅读 · 0 评论 -
Android中dip、dp、sp、pt和px的区别
1、概述 过去,程序员通常以像素为单位设计计算机用户界面。例如:图片大小为80×32像素。这样处理的问题在于,如果在一个每英寸点数(dpi)更高的新显示器上运行该程序,则用户界面会显得很小。在有些情况下,用户界面可能会小到难以看清内容。由此我们采用与分辨率无关的度量单位来开发程序就能够解决这个问题。Android应用开发支持不同的度量单位。2、度量单位含义转载 2012-10-23 10:50:21 · 662 阅读 · 0 评论 -
android 自定义 radiobutton 文字颜色随选中状态而改变
先看效果主要是写一个 color selector在res/建一个文件夹取名colorres/color/color_radiobutton.xml 程序中就可以直接使用了//layout/main.xml<LinearLayout xmlns:android="http:转载 2012-10-23 13:22:38 · 842 阅读 · 0 评论 -
Listview中长按事件响应处理
在Android的菜单分两种:options menu 、context menu 。(也有分三种的:options menu 、context menu、sub menu)其中options menu是和Activity相关联的,context menu 是和View关联。我们需要点击控件出现的菜单属于context menu ;但是context menu 只能通过setOnCreateCon原创 2012-07-25 11:01:35 · 767 阅读 · 0 评论