
实训日志
Chace P
这个作者很懒,什么都没留下…
展开
-
2015-09-09
关于LayoutInflater.inflate在运用 的过程中发现其有好几个类似的方法,避免混淆,特此说明一下: 1.inflate(@LayoutRes int resource, @Nullable ViewGroup root){ return inflate(resource, root, root != null);}使用时一般root传入null,相当于调用 2 的方法i原创 2015-09-09 22:55:10 · 267 阅读 · 0 评论 -
2015-09-18
android中使用线程对界面的修改若需使用循环线程对界面进行修改时(如歌曲进度条,当前播放时间。。。),启动线程时最好启用runOnUiThread()方法对界面进行修改,因为如果不这样做就会造成线程阻塞,不然就要使用post等方法(http://blog.youkuaiyun.com/u012810034/article/details/48353731)),还是推荐使用runOnUiThread()。原创 2015-09-18 12:09:14 · 292 阅读 · 0 评论 -
2015-09-14
广播BroadcastReceiver无序1.静态注册(在xml中) 在xml中添加标签,之后主类中使用意图Intent绑定该广播,并使用sendBroadcast发送,,给出标签示例: <receiver android:name=".MyB1"> <intent-filter> <action android:name="c原创 2015-09-14 22:33:38 · 251 阅读 · 0 评论 -
2015-10-23
ContentProvider当一个应用调用另外一个应用的Provider时,要在创建ContentProvider的应用的provider注册中加入 权限 android:exported=”true”TCP/UDPTCP服务端:绑定端口号 ,开始接受数据ServerSocket serverSocket =new ServerSocket(port);socket =serverSocket.原创 2015-10-23 18:32:26 · 330 阅读 · 0 评论 -
在android中使用自定义组件
首先你要有一个实体类继承了view(或其子类)package com.phc.act.view;import android.widget.LinearLayout;public class LocationView extends LinearLayout implements BDLocationListener ,View.OnClickListener{ public Locatio原创 2015-11-04 23:14:46 · 495 阅读 · 0 评论 -
2015-09-21
部分摘自:http://blog.youkuaiyun.com/zxman660/article/details/7875799字节流和字符流 两类都分为输入和输出操作。在字节流中输出数据主要是使用OutputStream完成,输入使的是InputStream,在字符流中输出主要是使用Writer类完成,输入流主要使用Reader类完成。 字符流处理的单元为2个字节的Unicode字符,分别操作字符、字原创 2015-09-21 22:27:52 · 290 阅读 · 0 评论 -
2015-10-12
今天写通过选择图片之后触发 裁剪 意图报出异常java.lang.RuntimeException: Failure delivering result ResultInfo。。。原因是因为使用startActivityForResult(intent, Constant.SELECTFACE_CROP)方法时,intent传入的参数信息不完整或者出错,下面贴出代码Intent intent = n原创 2015-10-12 23:21:21 · 227 阅读 · 0 评论 -
线程池
线程池的由来线程池是线程管理的地方,因为线程的创建和回收很浪费系统资源,而线程池为线程生命周期开销问题和资源不足问题提供了解决方案。 1.因为在请求到达时线程已经存在,所以无意中也消除了线程创建所带来的延迟。这样,就可以立即为请求服务,使应用程序响应更快 2.通过适当地调整线程池中的线程数目,也就是当请求的数目超过某个阈值时,就强制其它任何新到的请求一直等待,直到获得一个线程来处理为止,从而可以转载 2015-11-04 12:32:22 · 211 阅读 · 0 评论 -
2015-10-13
关于getPackageName()空指针异常在做一个项目时,需要获取包名,然而一直包空指针异常,是因为若getPackageName()在类变量中初始化使用的话,这时是视图没有创建,所以空指针异常,下面贴出代码:class A extends AppCompatActivity{ Uri outputUri = Uri.parse("android.resource://"+getPack原创 2015-10-13 22:08:22 · 376 阅读 · 0 评论 -
2015-10-28
在Adapter 数据的更新一般来说用notifyDataSetChanged()方法通知适配器数据发生变化,更新view,后来发现另一个真正的 “更新”方法:public void setAdapter(ListAdapter adapter) { //清空之前绑定的mDataSetObserver对象 if (mAdapter != null && mDataSe原创 2015-10-28 21:22:44 · 308 阅读 · 0 评论 -
2015-09-17
使用service、BroadcastReceiver、线程实现歌曲的播放和拖动seekBar对歌曲进度进行实时修改今天在使用动态绑定时,在注册时犯了个低级错误,粗心害死人啊,导致广播一直无法启动: private void register() { IntentFilter intentFilter = new IntentFilter(); intentFilte原创 2015-09-17 19:42:30 · 248 阅读 · 0 评论 -
2015-09-15
使用AlarmManager做闹钟先声明,本文摘抄原文:http://blog.youkuaiyun.com/wangxingwu_314/article/details/80603121.AlarmManager的常用方法有三个:(1)set(int type,long startTime,PendingIntent pi);该方法用于设置一次性闹钟,第一个参数表示闹钟类型,第二个参数表示闹钟执行时间,第三个原创 2015-09-15 22:46:35 · 215 阅读 · 0 评论 -
2015-10-16
为searchview(v7)并监听期伸缩/打开xml定义 <item android:id="@+id/action_search" android:orderInCategory="100" android:title="@string/action_search" android:icon="@android:drawable/i原创 2015-10-16 22:26:07 · 292 阅读 · 0 评论 -
2015-09-08
在碎片中添加监听事件RT,若想这样,在碎片布局中设置onClick=“XX”是行不通的(理由暂不明),必须先获取到碎片的Button对象,之后为其设置监听。例如触发某碎片的按钮,在其绑定类(F2)中设置监听: Button btn1 = (Button) getView().findViewById(R.id.f2_btn1); btn1.setOnClickListener(new原创 2015-09-08 23:06:44 · 285 阅读 · 0 评论 -
2015-8-31
2015-8-31今天做安卓界面时,重写onCreate()方法时,记住一定要保留super.onCreate(savedInstanceState);否则会报空指针异常原创 2015-08-31 18:00:12 · 363 阅读 · 0 评论 -
2015-09-04
弹窗AlertDialog android开发中,创建弹窗AlertDialog时,因为AlertDialog的构造方法不是protected就是默认的,故而不能直接new,所以要使用其内的静态内部类Builder的构造方法android.support.v7.app.AlertDialog和android.app.AlertDialog的区别这两个包弹出的框长相不一样,前者在标题和内容中没有分原创 2015-09-04 23:02:21 · 235 阅读 · 0 评论 -
2015-09-28
使用PagerSlidingTabStrip与ViewPager结合实现TAB滑动效果时,需要给ViewPager重写适配器ViewPagerAdapter,需要注意的是必须重写getPageTitle()方法,否则会报空指针异常,附部分源码:package com.phc.act.mymessageapp;import android.support.v4.app.Fragment;import原创 2015-09-28 22:22:08 · 245 阅读 · 0 评论 -
2015-09-11(1)
对ThreadLocal的一些见解ThreadLocal在不同的进程中有独立的对象,不相互影响,在get的时候取的是初始化时重写initialValue() 返回的方法(只在没有运行过set()时),目前发现特点: 1.只用初始化一次,只要初始化过一次,在其他线程中将不用初始化。 若在主线程中声明了一个ThreadLocal(没有new),并且在某个子线程中初始化(即new),那么在另外一个原创 2015-09-11 22:24:33 · 243 阅读 · 0 评论 -
2015-09-11(2)
java.lang.RuntimeException: Can’t create handler inside thread that has not called Looper.prepare()当在线程中创建Handler对象时会抛出此异常: Runnable mainRun = new Runnable() { @Override public void原创 2015-09-11 22:58:52 · 288 阅读 · 0 评论 -
2015-09-10
线程之间的消息传递在制作安卓界面视图更新时,由于视图的修改需要在原始线程上实现,其他线程不能修改,否则会抛出异常:android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.例如,在制作进入条Pr原创 2015-09-10 23:20:05 · 297 阅读 · 0 评论 -
2015-09-07
使用fragment标签在标签中注意tag不能重复,name要指向类全名(包括包名),并且指向的类中要写一个无参构造函数(必须),否则会出现异常android.view.InflateException: Binary XML file line #某行: Error inflating class fragmentsupport.v7.app.XX、support.v4.app.XX与app.XX原创 2015-09-07 22:55:55 · 361 阅读 · 0 评论 -
2015-10-17
关于java的值传递public class Example{ String str=new String("good"); char[]ch={'a','b','c'}; public static void main(String args[]){ Example ex=new Example(); ex.change(ex.str,ex.ch);原创 2015-10-17 17:05:58 · 795 阅读 · 2 评论 -
基于RecyclerView实现ViewPager的功能(横向)
说下大概思想吧,RecyclerView的使用大家都很熟悉了(不熟悉的请自行百度),在做项目的时候,需要实现一个图片界面横向滑动的功能,之前用RecycleView时一直做的都是垂直滑动的,当然使用ViewPager可以轻易完成。然而我就是想用RecycleView完成((⊙﹏⊙)程序员死磕病又犯了)。1.首先item文件,因为需要,每个Item都是宽度与屏幕等长,要在代码中实现,不然图片宽度会不一原创 2015-11-03 18:11:17 · 9898 阅读 · 3 评论