自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(120)
  • 资源 (4)
  • 收藏
  • 关注

原创 MySQL GROUP_CONCAT函数

语法:GROUP_CONCAT( [DISTINCT]  要连接的字段(fieldA)   [ORDER BY 排序字段(fieldB) ASC/DESC]   [SEPARATOR '分隔符'] )说明:DISTINCT -- 对连接字段fieldA去重;ORDER BY -- 要连接的字段fieldA依据字段fieldB排序; SEPARATOR -- 连接以什么作为分隔符。

2017-11-23 09:13:34 329

原创 Android中利用NetworkInfo判断网络状态时出现空指针(NullPointerException)问题解决

android中获取网络状态而不会引起空指针的正确写法

2016-11-30 16:49:28 4607

原创 关于android客户端中webview调试的方法

远程调试android设备中的web页面,HTML / CSS / JavaScript。

2016-11-22 16:11:58 3864

原创 属性动画(Property Animation)执行过程

属性动画执行过程简析

2016-11-14 17:58:10 1177

翻译 android app 构建过程

The build process of a typical Android app module

2016-10-10 16:20:13 516

原创 冒泡排序算法

冒泡排序算法实现:public void sortPop(int[] data){ int tmp; for(int i=0;i<data.length;i++){ for(int j=0;j<data.length-i-1;j++){ if(data[j]>data[j+1]){ tmp=data[j]; data[j]=data[j+1]; d

2016-08-13 12:56:54 327

原创 优秀站点记录

1、泡在网上的日志2、wan Android3、android studio中文社区4、litesuits.com5、全科-不安分的码农6、做好现在的事儿

2016-08-02 17:11:41 300

原创 android中判断关于文本展示是否出现省略号的判断

对于一些文本展示类需求,经常会要求设置最大展示行数(maxLines),当文本长度大于要展示的最大内容时出现省略号,同时根据是否出现省略号做一些其他操作,比如显示"全文"等字眼,然后要求点击全文查看全部内容。这个时候就需要判断文本是否已经溢出最大展示量,下面提供自己的一种实现方法。

2016-07-11 19:16:38 2705

转载 Android中纠结的短信长度

一条短信是可以输入70个中文字符或160个ASCII字符。

2016-07-08 14:03:54 1139

原创 关于selector点击区域放大问题的解决

关于selector点击区域放大问题的解决

2016-07-06 15:53:36 1337

原创 android adb命令查看当前正在运行的应用的任务栈

adb shell dumpsys activity

2016-07-06 10:30:16 7059

转载 Android MediaPlayer生命周期及状态说明

MediaPlayer的状态转换图也表征了它的生命周期,搞清楚这个图可以帮助我们在使用MediaPlayer时考虑情况更周全,写出的代码也更具健壮性。状态转换图清晰的描述了MediaPlayer的各个状态,也列举了主要的方法的调用时序,每种方法只能在一些特定的状态下使用,如果使用时MediaPlayer的状态不正确则会引发IllegalStateException异常。

2016-06-01 17:56:29 5552

原创 Android中为PopupWindow设置半透明背景的方案(兼容华为手机)

一种设置PopupWindow半透明背景的兼容方案

2016-05-17 19:38:05 21009 4

原创 android中关于位移动画TranslateAnimation开始和结束时闪动问题的记录

大家都知道,android下动画效果如果想在动画结束的时候就停留在最后一帧画面上,则可以使用 Animation的setFillAfter(true)来设置一下。但是在实际应用中我们往往会在动画开始或结束时做一些操作,当所做的操作是改变开启动画控件的布局或子控件的显隐状态时,如果处理不当往往会出现闪动问题,下面就我在项目中用到的位移动画分别来分析开始和结束时闪动的问题。

2016-05-14 16:09:13 11735 1

原创 Android中关于EditText点击事件的响应问题记录

对于EditText,如果通过调用 setOnClickListener方法为其设置了点击事件,要注意此处有一个坑,那就是当当前焦点不在该EditText身上时,第一次的点击事件是不会响应的,即不会回调onClick()方法,之后使EditView获取焦点,再次点击时才会响应点击事件。意思就是说当焦点在所点击的EditText控件身上时,点击事件会响应,不在时就不会响应。可以考虑用Touch事件解

2016-05-13 15:34:42 7287 4

原创 两种解决修改android手机设置中字体大小后系统布局混乱的方法

在android开发中针对字体大小的设置,虽然google推荐使用sp作为字体的单位,但是如果用户在系统设置的”显示“中修改了系统默认的字体大小。就会直接影响到所有sp为单位的字体适配,所以很多app在设置了系统字体后瞬间变得面目全非。针对该问题,大概有两种解决思路:1、不用sp作为系统字体的单位,改用dp;2、重写getResource()方法。

2016-04-22 15:07:56 10443

原创 Android利用系统Action裁剪图片大小

Intent intent = new Intent("com.android.camera.action.CROP"); intent.setDataAndType(uri, "image/*"); // 设置裁剪 intent.putExtra("crop", "true"); // aspectX aspectY 是宽高的比例 intent.putExtra("a

2016-03-31 13:58:29 1370

原创 android中TextView嵌套在ScrollView中并自由滚动

TextView嵌套在ScrollView中,并且TextView设置有最大显示行数或最大高度时,如果TextView和ScrollView同时出现了同一方向上的滚动条的话,嵌套TextView的滚动将受限,无法正常滚动。此文中采用对TextView设置MovementMethod和Touch事件的方式对TextView的触摸滑动进行处理。

2016-02-24 09:19:14 1817

原创 设计模式之观察者模式

观察者模式定义了对象之间的一对多依赖,这样一来,当一个对象改变时,它的所有依赖者都会收到通知,并自动更新。java内置的java.util.Observable类虽然使用起来非常简便,但是它也有一些黑暗面。所以,如果内置的观察者模式能够满足我们的需求是,可以使用内置的观察者模式,毕竟它们已经帮我们实现了很多逻辑,使用起来更方便,但是如果java内置的观察者模式使用时得到了限制,不妨实现自己的观察者模式,毕竟原理我们已经很清楚。

2015-11-30 11:41:03 429

原创 设计模式之策略模式

策略模式定义了算法族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。 封装了变化的部分,使变化的部分独立于不变的部分;面向接口编程,而非面向实现编程,使代码更有弹性,并且可以通过setter方法在代码运行过程中动态的切换算法;利用组合的方式成功的扩展了对象的功能,避免了利用继承带来的代码重写等问题。

2015-11-28 14:57:25 376

原创 WebView中常见问题总结

最近在项目中遇到对WebView的需求应用,在开发中遇到了几点问题,记录下来以便不时之需。    1、WebView中获取网页标题的问题;2、加载百度地图出现空白页问题;3、页面返回资源释放问题;4、自定义错误页面问题;5、关于有重定向页面时执行goback()方法无法正常后退的问题;6、ssl链接访问时出现空白页的问题

2015-11-20 19:41:08 2971

原创 Android自定义进度框

有时候,为了适应项目中的统一风格,或者优化进度框的显示效果,我们需要定义自己的进度框显示效果,下面实现一种可添加自己Logo的圆形旋转进度框,代码如下:1、自定义LoadingDialog类继承Dialog:package com.example.loadingdialog.view;import com.example.myloadingdialog.R;import andro

2015-07-21 11:01:57 474

原创 Android中自定义弹窗提醒控件

Android中原生的Dialog弹窗提醒控件样式单一,有时候并不能满足我们的项目需求,而且一个工程里面有时候会在多处都用到弹窗提醒的功能,代码会出现大量的冗余,工作之余,就自己实现了这么一个弹窗提醒控件。自定义控件继承自我们的Dialog,样式自定义,弹窗中的文字可通过数组参数初始化,Item个数实现了动态添加,和数组长度一致。对话框底端可展示一个Item(如:确定)或两个Item(如:确定  

2015-07-17 14:06:44 2304

原创 android中进入界面时软件盘默认隐藏的设置方法

在安卓开发过程中,如果某一layout布局文件中包含EditView等可编辑的控件并且默认是第一个获取焦点时,进入界面的时候软键盘就会弹出。但是,有时我们并不希望软键盘弹出,这时,可以在layout布局文件的根布局下添加如下代码(添加到默认获取焦点的EditView等空间的前面):<LinearLayout android:layout_width="0px" android:

2015-07-15 15:57:46 1206

原创 在Activity的onCreate方法中获取控件宽高的N种方法

在Android开发过程中,有可能遇到在Activity的onCreate方法中获取控件宽高的需求,这时利用view.getWidth()或view.getMeasuredWidth()等方法获取控件的宽高,得到的值总是0。是因为当OnCreate函数发生时,只是提供了数据初始化的机会,此时还没有正式绘制界面。而绘制界面是在OnDraw方法中进行的,此时计算又显得太晚。这时

2015-07-15 14:44:30 835

原创 android中返回键的监听

android中对返回键的监听相对比较简单,方法也比较多,可分别通过重写dispatchKeyEvent(KeyEvent event)、onKeyDown(int keyCode, KeyEvent event)、onKeyUp(int keyCode, KeyEvent event)和onBackPressed() 方法监听返回键,但是这四种方法有一个严格的执行顺序,如果同时重写了

2015-07-15 09:36:27 20667

原创 android Home键的监听

Android对屏幕下方常用的三个按键消息处理是不一致的:1、菜单按键的消息在onCreateOptionsMenu、onKeyDown或onKeyUp方法中接收;2、返回按键的消息可以在onBackPressed、onKeyDown或onKeyUp方法中接收。3、对于Home按键消息的处理,既不能通过onKeyDown、onKeyUp接收到,android也没有提供专有的方法

2015-07-14 16:58:10 608

原创 Android获取状态栏和标题栏的高度

1.Android获取状态栏高度:        decorView是window中的最顶层view,可以从window中获取到decorView,然后decorView有个getWindowVisibleDisplayFrame方法可以获取到程序显示的区域,包括标题栏,但不包括状态栏。于是,我们就可以算出状态栏的高度了。Rect frame = new Rect();getWi

2015-07-14 16:50:48 334

原创 android 获取SD卡状态信息

/** 获取存储卡路径 */ File sdcardDir=Environment.getExternalStorageDirectory(); /** StatFs 看文件系统空间使用情况 */ StatFs statFs=new StatFs(sdcardDir.getPath()); /** Block 的 size*/ Long blockSize=statFs.getBlock

2015-07-14 16:46:44 485

原创 android 获取mac地址

private String getLocalMacAddress() { WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); WifiInfo info = wifi.getConnectionInfo(); return info.getMacAddress();

2015-07-14 16:44:13 445

原创 在Activity中判断横竖屏的切换

在继承了Activity的类中,可以通过重写onConfigurationChanged方法来判断屏幕的朝向 @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); if (this.getR

2015-07-14 16:39:16 697

原创 android中px和dp的相互转换

/** * 根据手机的分辨率从 dip 的单位 转成为 px(像素) */ public static int dip2px(Context context, float dpValue) { final float scale = context.getResources().getDisplayMetrics().density;

2015-07-14 16:32:13 231

原创 判断手机网络连接状态

注释:获取手机的网络状态信息需要添加权限 /** * 检查网络是否连接 * @param context * @return */ public static boolean checkNet(Context context) { // 检查WIFI boolean isWIFI = isWIFIConnection(context); // 检查MO

2015-07-14 14:40:19 736

原创 Android中利用代码去除标题栏

// 去除标题, 必须在setContentView 方法前调用requestWindowFeature(Window.FEATURE_NO_TITLE); // 去除标题

2015-07-14 14:36:20 318

原创 使用SharedPreferences读写数据

       使用SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data//shared_prefs目录下: SharedPreferences sharedPreferences = this.getSharedPreferences("mydata", Context.MODE_PRIVATE); Editor edit

2015-07-14 14:30:04 649

原创 Android中的自定义样式

在进行Layout布局文件的开发过程中,有时候会重复设置某一属性集合(即多个控件设置的属性都一样),这时候为了简化代码,可将重复的属性集抽取成一个样式(style),具体操作为:在res/values/styles.xml文件中定义样式: center_vertical 7dip 10dip wrap_conte

2015-07-14 14:26:40 368

原创 Android开发中自定义Toast

/** * 窗体管理者 */ private WindowManager wm; private View view; long[] mHits = new long[2];//用来处理双击事件,同理可处理N击事件 /** * 自定义土司 * @param context * @param showMsg */ public void myToast(Conte

2015-07-14 14:16:39 425

原创 Android开发中获取屏幕宽高的几种方法

Android开发过程中经常会遇到获取手机屏幕宽高的需求,下面就获取屏幕宽高的方法总结如下:       方法1:利用WindowManager获取int screenWidth = getWindowManager().getDefaultDisplay().getWidth(); // 屏幕宽(像素,如:720px) int screenHeight = getWindowMana

2015-07-14 13:54:16 5567

原创 ListView的Item中子控件抢占焦点的两种解决办法

     当为ListView的Item自定义布局时,如果布局中包含可获取焦点的子控件(诸如ImageButton,Button,CheckBox等子控件,也可以说是Button或者Checkable的子类控件),就会出现子控件抢占焦点的问题,即焦点被子控件截获,Item的点击事件将无法响应。提供两种简单的解决办法:    1、在自定义布局的根部局容器中添加 android:des

2015-07-13 16:04:08 2635

原创 多线程断点下载的代码实现

import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.InputStream;import java.io.InputStreamReader;import java.io.RandomAccessFile;import java.net

2015-01-28 15:44:43 371

android自定义Tab选项卡控件

android自定义控件,实现选项卡功能。可通过自定义属性设置选项卡样式,且Tab的数目也可通过属性灵活设置,可设置为文本选项卡或图片选项卡,利用回调监听响应各Tab的点击事件,且设置方法和android原生控件设置点击监听的方法基本一致。

2015-07-21

自定义图片旋转进度框

自定义进度框,圆环图片旋转,也可自己设置旋转图片,支持自己logo的显示,利用属性动画实现旋转,性能更高。

2015-07-21

android自定义Dialog

android自定义弹窗控件,继承自Dialog,实现了弹窗提醒、信息展示等功能,可分条展示文本信息,且底端可通过参数控制展示为一个Item(如:确定)或两个Item(如:确定 取消),回调监听的设置方式和常规控件一样。资源解压即可运行。

2015-07-17

自定义Toast

android中系统提供的Toast样式单一,有时无法满足项目的要求,通过自定义Toast的方式,设计满足要求的样式和功能,包括样式的自定义、显示位置的设置

2015-06-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除