![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android开发
kxzf12345
这个作者很懒,什么都没留下…
展开
-
网络别称
* public static final int NETWORK_TYPE_UNKNOWN = 0; * * public static final int NETWORK_TYPE_GPRS = 1; G(2.5) * public static final int NETWORK_TYPE_CDMA = 4; G(2) * public static final int...原创 2014-12-18 11:13:37 · 1231 阅读 · 0 评论 -
控件getHeight和getWidth等于0的解决办法
[code="java"]//监听layoutContainer是否初始化完成 layoutContainer.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() { @Override public void onGlobalLayout() { /...原创 2015-09-07 17:27:11 · 429 阅读 · 0 评论 -
Service和Thread的区别?
servie是系统的组件,它由系统进程托管(servicemanager);它们之间的通信类似于client和server,是一种轻量级的ipc通信,这种通信的载体是binder,它是在linux层交换信息的一种ipc。而thread是由本应用程序托管。 1). Thread:Thread 是程序执行的最小单元,它是分配CPU的基本单位。可以用 Thread 来执行一些异步的操作。2). Se...原创 2015-08-19 13:25:33 · 338 阅读 · 0 评论 -
避免内存泄露
1、尽量避免在Activity使用static。2、能使用Application的上下文尽量使用,尽少使用Activity的上下文。3、注意对Context的引用不要超过它本身的生命周期,如有不确定,则使用WeakReference若引用。4、Context里如果有线程,一定要在onDestroy()里及时停掉。...原创 2015-08-18 19:21:21 · 74 阅读 · 0 评论 -
需要context的时候用activity还是application?
需要context的时候用activity还是application?看使用的周期是否在activity周期内,如果超出,必须用application;常见的情景包括:AsyncTask,Thread,第三方库初始化等等。还有些情景,只能用activity:比如,对话框,各种View,需要startActivity的等。总之,尽可能使用Application。...原创 2015-08-17 17:02:17 · 344 阅读 · 0 评论 -
谈谈UI中, Padding和Margin有什么区别?
Padding 文字对边框, margin是控件与控件之间的距离原创 2015-08-10 17:18:50 · 940 阅读 · 0 评论 -
android服务(Service)
在Service的生命周期中,被回调的方法比Activity少一些,只有onCreate, onStart, onDestroy, onBind和onUnbind。 通常有两种方式启动一个Service,他们对Service生命周期的影响是不一样的。 1 通过startService Service会经历 onCreate 到onStart,然后处于运行状态,stopService...原创 2015-08-10 17:12:23 · 99 阅读 · 0 评论 -
ListView工作原理
工作原理 :ListView 针对 List 中每个 item ,要求 adapter “ 给我一个视图 ” (getView) 。一个新的视图被返回并显示如果我们有上亿个项目要显示怎么办?为每个项目创建一个新视图? NO! 这不可能!实际上 Android 为你缓存了视图。Android 中有个叫做 Recycler 的构件,下图是他的工作原理:如果你有 10 亿个项...原创 2015-08-10 16:21:04 · 109 阅读 · 0 评论 -
Context内存泄露注意点
这种Context拥有和应用程序一样长的生命周期,并且不依赖Activity的生命周期。如果你打算保存一个长时间的对象, 并且其需要一个 Context,记得使用Application对象。你可以通过调用Context.getApplicationContext()或 Activity.getApplication()轻松得到Application对象。 最近遇到一种情况引起了Context泄...原创 2015-08-10 13:39:45 · 176 阅读 · 0 评论 -
stopSelf()与stopSelf(startId)的区别
startId:表示启动服务的次数stopSelf(startId):表示停止startId次的服务,其他次数不停止。一般用于多次启动服务,多次执行onStartCommand(Intent intent, int flags, int startId)的情况;stopSelf():表示直接停止服务(所有次数)使用场景:如果同时有多个服务启动请求发送到onStartCo...原创 2016-04-14 14:44:16 · 916 阅读 · 0 评论 -
ImageView的android:maxHeight,android:minHeight的正确设置
[code="java"]在layout文件中,设置IamgeView的最大(最小)高度(宽度)时,需要同时设置android:adjustViewBounds="true",这样设置才会生效。在代码中设置时,需要setAdjustViewBounds为true。一个layout的实例:android:adjustViewBounds="true" android:maxHeig...原创 2015-05-08 09:25:16 · 251 阅读 · 0 评论 -
动态设置View的高度
[code="java"] int newHeight = 200; //注意这里,到底是用ViewGroup还是用LinearLayout或者是FrameLayout,主要是看你这个EditTex //控件所在的父控件是啥布局,如果是LinearLayout,那么这里就要改成LinearLayout.LayoutParams V...原创 2015-04-12 15:01:32 · 1483 阅读 · 0 评论 -
【转】Android手机及Sim卡状态的获取
[code="java"]TelephonyManager这个类很有用,可以得到很多关于手机和Sim卡的信息。 直接上注释后的代码,请享用package net.sunniwell.app;import android.app.Activity;import android.os.Bundle;import android.telephony.CellLocation;im...原创 2015-04-04 11:10:00 · 154 阅读 · 0 评论 -
【转】Android 控制ScrollView滚动到底部
在开发中,我们经常需要更新列表,并将列表拉倒最底部,比如发表微博,聊天界面等等,这里有两种办法,第一种,使用scrollTo(): public static void scrollToBottom(final View scroll, final View inner) {Handler mHandler = new Handler();mHandler.post(...原创 2015-03-22 13:55:34 · 71 阅读 · 0 评论 -
尽量避免android oom
多数时候,发生OOM 都是在做一些跟图片相关的操作,以下提出一些建议尽量可以减少这种情况的发生: 1.decode bitmap 的时候,尽量配置下Options,例如:inSameSize 2.Bitmap使用完以后,调用 bitmap.recycle()来释放内存 3.如果应用是基于图片的应用,尽量采用LazyLoad和DymanicRecycle 4.decode bitmap...原创 2014-08-19 14:08:26 · 79 阅读 · 0 评论 -
Android使用Animation完成动画保留最后一帧的办法
在动画效果的xml中,在set标签中加上一条android:fillAfter="true" 表示动画结束时,停留在动画的最后一帧即可。注意此句不要放在如标签中,否则没有作用。...原创 2015-09-08 10:43:53 · 2693 阅读 · 0 评论 -
严苛模式
[code="java"]//启用严苛模式,StrictMode可以用于捕捉发生在应用程序主线程 中耗时的磁盘、网络访问或函数调用, //可以帮助开发者使其改进程序,使主线程处理UI和动画在磁盘读写和网络操作时变得更平滑,避免主线程被阻塞,导致ANR窗口的发生。 //检测耗时操作 /*if(Config.DEVELOPER_MODE) { //线程策略,主要检测线程...原创 2015-10-14 20:25:59 · 341 阅读 · 0 评论 -
接收隐式意图
想接收隐式意图,必须在他们的意图过滤器中配有:android.intent.category.DEFAULT类别。 ...原创 2015-10-22 11:29:24 · 103 阅读 · 0 评论 -
安装/卸载/替换成功广播接收
原创 2016-01-08 11:59:02 · 118 阅读 · 0 评论 -
Volley的学习笔记
说明:对于大数据量的网络操作,Volley的表现会比较糟糕,所有对于下载图片和上传文件之类的,最好不扩展Volley进行上传文件操作。1,上传客户端到服务端的请求头信息:StringRequest request = new StringRequest(urlValCode, new ValCodeListener(), new ValCodeErrorListener()){ /*...原创 2014-11-21 11:39:06 · 67 阅读 · 0 评论 -
android http随笔
private static GetMethod getHttpGet(String url, String cookie, String userAgent) { GetMethod httpGet = new GetMethod(url); // 设置 请求超时时间 httpGet.getParams().setSoTimeout(TIMEOUT_SOCKET);// httpGe...原创 2014-11-20 17:00:42 · 89 阅读 · 0 评论 -
Volley StringRequest 接收出现乱码问题
1、首先要保持服务端返回来的response.setContentType("text/html; charset=utf-8")与客户端接收的字符集编码一致。2、如果还是出现乱码问题,尝试重写StringRequest或JSONObjectRequest:@Override protected Response<String> parseNetworkRespon...原创 2014-11-20 16:50:02 · 186 阅读 · 0 评论 -
ContentProivder
ContentProvider 我们实现了其中的几个方法 这点大家都知道 但是query方法 返回的Cursor 自己实现 然后把需要传递的数据结构放进自己写的Cursor里 这样是不正确的 有时候想想可能觉得可以 但是实际测试的时候 是行不通的 因为Cursor 指向的是底层数据的集合 自己不能携带什么数据 或者说不应该携带数据Cursor初始化的时候 ...原创 2015-12-09 09:26:38 · 187 阅读 · 0 评论 -
Android获取网络时间
1、实时获取:[code="java"]LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); if(locationManager != null) { /** * 实时获取(隔几秒一次) * 根据系统设置的...原创 2015-11-19 11:27:45 · 221 阅读 · 0 评论 -
android animation知识
[code="java"] [/code]解析:android:fromYDelta="48" 从起始Y坐标,偏移48个坐标像素android:fromYDelta="80%p" 从80%p的位置移动80%p---父组件的80%原创 2015-11-14 11:47:42 · 78 阅读 · 0 评论 -
代码中设置android:drawableTop等
btnAttachment.setCompoundDrawablesWithIntrinsicBounds(0, R.drawable.picture_ico, 0, 0);原创 2015-11-14 10:42:16 · 1773 阅读 · 0 评论 -
自定义View
一般来说,自定义View都会去重写onMeasure()方法,该方法是指定控件在屏幕中的大小。重写该方法需要对控件的实际大小重新计算,然后通过setMeasureDimension(w,h)重新设置控件大小。onMeasure传入的widthMeasureSpec和heightMeasureSpec不是一般的尺寸数值,而是将模式和尺寸组合在一起的数值。我们需要通过int mode = Me...原创 2015-11-04 15:09:54 · 90 阅读 · 0 评论 -
SimpleOnGestureListener
onScroll()缓慢滑动,手指滑动屏幕的过程中执行;onFling()快速滑动,手指离开屏幕的过程中执行,前提是要达到手势指定的快滑的值才会执行;原创 2015-11-04 12:03:37 · 184 阅读 · 0 评论 -
设置dialog在底部并宽度全屏显示
[code="java"]pickerDialog.setContentView(view); Window pickerDialogWindow = pickerDialog.getWindow(); if(pickerDialogWindow != null) { //将dialog设置到底部 pickerDialogWindow.setG...原创 2015-11-02 11:53:31 · 371 阅读 · 0 评论 -
横竖屏切换使用 android:configChanges="orientation|keyboardHidden"无效
在之前的版本中都是在Manifest文件中设置Activity的 android:configChanges="orientation|keyboardHidden",但是在android4.0中无效,最后发现是需要加其他一个属性:"screenSize"改成这样就可以了 : android:configChanges="orientation|keyboardHidden|screenSiz...原创 2015-10-29 10:51:31 · 192 阅读 · 0 评论 -
Dialog注意点
dialog:setCancelable与setCanceledOnTouchOutside方法的顺序不能改变,若改变,设置setCancelable为false,setCanceledOnTouchOutside就失效了。如:[code="java"]dialog = new Dialog(mContext, R.style.my_dialog); //dialog:setC...原创 2015-10-28 17:14:24 · 136 阅读 · 0 评论 -
清除setBackgroundResource的原有值
setBackgroundResource(0);清除原有的setBackgroundResource()的值。原创 2015-10-23 16:50:28 · 1710 阅读 · 0 评论 -
android wifi信号监听
WifiManager.RSSI_CHANGED_ACTION,它是监听信号强度变化的,WifiManager.WIFI_STATE_CHANGED_ACTION才是监听wifi状态的改变原创 2014-08-05 13:23:29 · 316 阅读 · 0 评论 -
用软键盘的回车和删除按键可以触发onKeyDown事件67
用软键盘的回车和删除按键可以触发onKeyDown事件67.原创 2014-07-28 13:29:10 · 232 阅读 · 0 评论 -
了解SimpleExpandableListAdapter的构造函数
了解SimpleExpandableListAdapter的构造函数 ?1234public SimpleExpandableListAdapter(Contextcontext,List<? extends Map<String, ?>> groupData, int groupLayou...原创 2013-01-09 14:36:34 · 73 阅读 · 0 评论 -
【转】创建一个popupwindow,在里面放置一个listview,并且使listview可以响应点击事件...
popWinPlaylist.showAtLocation(vv_main, Gravity.TOP|Gravity.LEFT, 0, 150); popWinPlaylist.setFocusable(true); popWinPlaylist.update(); popWinPlaylist.showAtLocation(vv_main, Gravity.TOP|Grav...原创 2013-01-06 17:22:25 · 105 阅读 · 0 评论 -
android代码中打开系统设置界面 .
Android软件时,常常需要打开系统设置或信息界面,来设置相关系统项或查看系统的相关信息,这时我们就可以使用以下语句来实现:(如打开“无线和网络设置”界面) Intent intent = new Intent("/"); ComponentName cm = new ComponentName("com.android.settings","com.android.settings.Wi...原创 2012-12-21 10:20:04 · 221 阅读 · 0 评论 -
android MediaPlayer使用
1)如何获得MediaPlayer实例: 可以使用直接new的方式: MediaPlayer mp = new MediaPlayer(); 也可以使用create的方式,如:MediaPlayer mp = MediaPlayer.create(this, R.raw.test);//这时就不用调用setDataSource了 2) 如何设置要播放的文件:...原创 2013-06-07 10:20:46 · 77 阅读 · 0 评论 -
Android中Service类onStartCommand .
Android开发的过程中,每次调用startService(Intent)的时候,都会调用该Service对象的onStartCommand(Intent,int,int)方法,然后在onStartCommand方法中做一些处理。然后我们注意到这个函数有一个int的返回值,这篇文章就是简单地讲讲int返回值的作用。从Android官方文档中,我们知道onStartCommand有4种返回值...原创 2013-06-06 17:08:22 · 68 阅读 · 0 评论 -
【转】Android中图片的处理(放大缩小,去色,转换格式,增加水印等)
Android中图片的处理(放大缩小,去色,转换格式,增加水印等),多张图片四个方位的图片合成,改变bitmap大小,图片去色等功能 Java代码 1.package com.dzh.operateimage; 2.import android.graphics.Bitmap; 3.import android.graphics.Bitmap.Config; ...原创 2012-12-03 09:39:20 · 149 阅读 · 0 评论