- 浏览: 32087 次
- 性别:
- 来自: 广州
-
最新评论
-
yong7356:
学习了。。。。。。。。
【8.3】关于simpleAdapter没法显示bitmap的问题
文章列表
[置顶] 错误集合贴
- 博客分类:
- iPhone笔记
1、incomplete implementation of class 'ViewController'
前面可能会提示一句拼写错误,这是由于方法名写错了的原因,照着从头文件copy过来就行了
Xcode在这里没有自动提示真是抓狂啊
2、NSObject(NSObject) doesNotRecognizeSelector
调用方法的类没实现这个方法
3、出现unrecognized selector sent to instance 0x44e1e0
新手问题,具体看下面的链接
http://blog.c ...
1、一直提示Android Debug ‘source not found’的问题
估计新手才会遇见的问题,调了一上午……
在manifest.xml中注册的类名,即是android:name要和类名完全一致
这种错误确实很邪恶
2、findViewById,抛出了空指针
打log,Log.e(TAG, "timeSeekBar:" + timeSeekBar),出现了空指针
说明在当前View没找到资源,看看是不是写顺手没在findViewById前面没加上View类
3、图片名是backward,结果找不到资源,运行 ...
ndk开发环境的搭建
- 博客分类:
- android笔记
1、下载Cygwin,只安装Devel
安装完通过gcc -v和make -v测试
用Ultraedit编辑\Cygwin\home\Adminstrator目录下的.bash_profile文件(不要用txt打开,会导致Cygwin报错),添加
NDK=/cygdrive/e/develop/android/android-NDK/android-ndk-1.5_r1export NDK
重启Cygwin
2、下载android-ndk-r5
3、cd $NDK/samples/hello-jni
$NDK/n ...
这个问题很棘手,打log明明都找了视频缩略图bitmap的路径,但就是显示出来
其实是simpleAdapter自己的问题,它有自己的view绑定规则
可以先看看这个:http://www.cnblogs.com/over140/archive/2010/12/15/1906303.html
在看看这个:http://hi.baidu.com/blue_hmq/blog/item/03baf6ca02cf1614bf09e663.html
其中说道:
SimpleAdapter类:一个使静态数据和在XML中定义的Views对应起来的简单adapter。你可 ...
关于这个问题,网上也有很多人问了这个问题,但只有自己碰到了才知道原因
打完log才发现,进入主进程之后,surfaceview的创建优先级并不高,因此在mediaPlayer开始之后,surfaceView还没有创建出来,因此会出现有声音没图像的问题
一般有两种实现方法:
一是在通过holder增加callback,监听surfaceCreate事件,在监听到之后再开始mediaPlayer的相关操作,具体可以看videoView的实现方法
二是通过按钮来实现mediaPlayer,这样也可以保证再用户按到按钮之前,surfaceView已经被创建出来了
详细见 http://hi.baidu.com/jugege/blog/item/c35a5d136a5f89c7f6039e23.html
说得很详细了
注意:
1、当调用create()方法后,MediaPlayer就出了prepared状态了
2、记得每次重新开始时要先调用release()
3、onError()是在setDataSource时发生错误触发的,可以用Listener来监听
【7.1】seekBar的使用心得
- 博客分类:
- android笔记
seekBar即可拖动的进度条,可以作为播放器的进度条来使用,使用起来相对简单一点,不过限制较多,需要的话必须重写
和播放器配合的话:
1、设置最大值
int mSecond = mediaPlayer.getDuration(); // 得到的是毫秒
seekBar.setMax(mSecond);
2、自动更新进度条:在Handler里不断给自己发delay消息
currentTime = mediaPlayer.getCurrentPosition();
seekBar.setProgress(currentTime);
handler ...
1、打log,按调试,查日志,最常用的方法
点右上角的“+”号,做过滤,主要是ERROR和自己的TAG
2、用Toast,比较直观,适合用在了解程序的流程
3、设断点,按F6单步运行,容易找到一些不易发现的错误,直接知道程序挂在哪一步了
Ctrl + F 搜索本页面
Ctrl + H 搜索工程
alt + Shift + S 快速自动生成构造函数,@Override方法等
想到再补充
接口有两个,如下:
public interface OnGestureListener {
// Touch down时触发, e为down时的MotionEvent
Looper负责管理消息队列,Handler负责发送处理消息
Thread创建新线程,Looper.myLooper()获得新线程的Looper,Looper.getMainLooper()是获得主线程的Looper
通过new MyHandler(mainLooper)有参构造函数来让Looper和Handler进行沟通
无参的构造函数,默认获取的是当前线程的Looper
Message message = mHandler.obtainMessage(1, 1, 1, msg);
mHandler.sendMessage(message);
发送消息
...
接上,设置完之后要传回数据且立刻生效,则可以用startActivityForResult(),和startActivity()有所不同(另一种方法可以是检测按键返回,当返回时做一些全局设置的工作)
startActivityForResult(Intent intent, int requestCode)
requestCode是用来区分各个是哪个Intent传回数据,是一个大于零的int
setResult(int resultCode, Intent intent)
上一篇的设置是用key来区分各个设置项,但是没key可以设置的条件下,可以用resultCode来区分是 ...
Shared Preferences可以存储一些程序的参数设置,而且不用存储操作,所以用来保存程序的设置参数再合适不过了
设置菜单有专门的xml,首先新建一个PreferenceScreen类别的xml,在src-xml路径下
用PreferenceCategory来分类,android:title来写标题
控件包括CheckBoxPreference、EditTextPreference、ListPreference、RingTonePreference,(太少可以重写)最重要的是android:key这个属性,key在程序里唯一,是存储寻找数据的标记
新建 ...
1、在res/values文件下定义一个attrs.xml文件
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="MyView">
<attr name="textColor" format="color" />
<attr name=&quo ...
主要是利用LayoutInflater的inflate方法
相当于findViewById,只不过查找的是layout的资源
LayoutInflater mLayoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
linearLayout1 = (LinearLayout) mLayoutInflater.inflate(R.layout.main, null);
linearLayout2 = (LinearLayout) mLayoutInflater. ...