
android开发
shonnybing
业精于勤荒于嬉
展开
-
4.28如何在代码中改变控件在布局中的位置
(1)在代码中改变控件在布局中的位RelativeLayout.LayoutParams textView1_params=new RelativeLayout.LayoutParams(84,6);//84和6分别为控件的宽和高textView1_params.topMargin=294;//以px为单位与dp不同textView1.setLayoutParams(textVi原创 2015-04-29 22:51:38 · 481 阅读 · 0 评论 -
5.5JNI中文字符串传递
java内部使用的是16bit的unicode编码(UTF-16)来表示字符串的,无论中文英文都是2字节; jni内部是使用UTF-8编码来表示字符串的,UTF-8是变长编码的unicode,一般ascii字符是1字节,中文为3字节; c/c++使用的是原始数据,ascii就是一个字节,中文一般是GB2312编码,用两个字节来表示一个汉字;jni返回给java的字符串,c/c++首先应该负责把这原创 2015-05-05 22:37:35 · 509 阅读 · 0 评论 -
5.15ScrollView
ScrollView:滚动视图是指当前拥有很多内容,屏幕显示不完时,需要通过滚动来显示完整的视图。HorizontalScrollView:水平滚动视图 ScrollView:垂直滚动视图getResources().getString(R.string.content)//获取res文件夹下的string字符串tv.setText(getResources().getString(R.strin原创 2015-05-15 10:40:45 · 373 阅读 · 0 评论 -
5.15Gallery
Gallery:我们有时候在手机上或者pc上面看到动态的图片,可以通过鼠标或者手指触摸来移动它,产生动态的滚动效果,还可以根据你的点击或触摸触发其它事件响应。同样的,在Android中也提供这种实现,这就是通过Gallery在UI上实现缩略图浏览器。1.准备数据源private int[] res = { R.drawable.item1, R.drawable.item2, R.drawable.原创 2015-05-15 20:58:49 · 448 阅读 · 0 评论 -
5.6java中显示中文字符乱码的问题
(1)c++中返回的是GB2312编码的汉字,一个字是两个字节,传回来到java的pitch类中的word1和word2.在java中需对GB2312编码的汉字进行解码:String word[]={0,0,0,0,0,0,0,0,0,0};......byte[] bytes=new byte[2];byte[0]=(byte)pitch[i].word1;byte[0]=(byte)pi原创 2015-05-06 22:45:00 · 431 阅读 · 0 评论 -
5.13viewPager&&viewFlipper
(1)java中输出格式控制:System.out.printf(“共有:%.1f吨\n”,totalGoods);(2)Adapter里面的常用方法:getCount()返回所有页面的数量isViewFromObject(View arg0,Object arg1)判断视图是否由对象产生instantiateItem(ViewGroup container,int position)实例化界原创 2015-05-13 22:09:08 · 471 阅读 · 0 评论 -
5.14支持手势滑动的ViewFlipper
(1)支持手势滑动的ViewFlipper: 重写onTouchEvent方法 private float startX; @Override public boolean onTouchEvent(MotionEvent event) { // TODO Auto-generated method stub switch (event.getActi原创 2015-05-14 22:29:17 · 411 阅读 · 0 评论 -
5.7No implementation found for native
No implementation found for native Lcom/examples/adjustPitch;.getSenLen 查了半天没发现函数名有错,结果发现是void java_com错了,应为void Java_com…原创 2015-05-07 21:45:09 · 438 阅读 · 0 评论 -
5.27AsyncTask异步任务
关于AsyncTask异步任务转载 2015-05-27 22:42:25 · 397 阅读 · 0 评论 -
5.26mediaPlayer使用相关
(1)今天下午花了很长时间做mediaPlayer在指定时间点停止的功能,因为没有关于播放状态的监听器,所以苦恼了很久,最后的解决方案是新开一个线程,该线程可以并行监控播放状态:new Thread(){ public void run() { while (mPlayer.isPlaying()) { if (mPlayer.getCurrentPosi原创 2015-05-27 10:49:16 · 438 阅读 · 0 评论 -
4.29Android中对jni调用部分的调试
(1)在android中编译头文件: javah -classpath bin/classes -jni com.spore.meitu.jni.JniEngine(JniEngine为一个公共类) (2)No implementation found for native… …………………………………………………………………….. java.lang.Unsatisfied原创 2015-04-29 23:08:10 · 348 阅读 · 0 评论 -
5.12ViewPager以view为对象
(1)fragment——>activity的示例代码:fragment:public interface MyListener{ public void thank(String code);}public MyListener listener;@Overridepublic void onAttach(Activity activity){ listener =(My原创 2015-05-12 22:00:41 · 440 阅读 · 0 评论 -
基于 Android NDK 的学习之旅-----Java 调用C
转自这里写链接内容 随便谈谈为什么要Java调用C 吧:我认为:1、 有些公司开发Android项目的时候, 许多组件功能可能是C中已经实现了,所以我们没必要同样的功能又在java中实现一遍。例如我之前做的一个项目,公司C引擎已经很成熟了,所以直接在java中封装好接口,由C去实现。2、 C的速度一般是java的10-20倍把,有些对速度要求高的就需要在C中实现。例如我以前在Android项目转载 2015-04-27 22:53:28 · 414 阅读 · 0 评论 -
4.27NDK相关
(1)最近vs2010的visual Assist X到期了,一直没管,于是今天用到vs时果断把破解版给装了,破解版的安装包在很多地方都可以找到,但是碰到的一个问题是找不到c盘的visual Assist X路径(开始菜单里的搜索和我的电脑里的搜索都找不到该文件夹,百度了说要确定在哪个盘搜索起来才会有效些,而c盘好多文件是隐藏的),后来发现之所以找不到是因为xp的路径和win7不同,win7的路径是原创 2015-04-27 22:38:19 · 421 阅读 · 0 评论 -
JNI函数调用大全
转自这里写链接内容 Chap1:JNI完全手册 3 Chap2:JNI-百度百科 11 Chap 3:javah命令帮助信息 16 Chap 4:用javah产生一个.h文件 17 Chap5:jni教程(very very good) 19 Chap6: JNI传递返回值 26 15.2.2.3 传递字符串 28 15.2.2.4 传递整型数组 29 15.2.2.转载 2015-04-27 23:10:07 · 4298 阅读 · 0 评论 -
5.8空指针异常
(1)fragment中stanTextView[0]=new TextView(getActivity());的空指针异常是因为之前只定义了private TextView[] stanTextView; 没有为它分配动态空间,应在之前加一句stanTextView=new TextView[10]; (2)eclipse使代码自动对齐的快捷键ctrl+shift+f;原创 2015-05-09 22:55:36 · 356 阅读 · 0 评论 -
5.9android中的异步任务
(1)今天又出现了Native method not found的错误,找了半天,JNI中文件名与java中对应,最后发现是改代码的时候忘记加: static{ System.loadLibrary(“SMS”); } (2)将算法代码放到异步任务中进行(作用和开辟一个线程一样) new AsyncTask<Void, Void, Void>(){ @Override原创 2015-05-09 23:07:26 · 369 阅读 · 0 评论 -
5.10fragment的加载
(1)Fragment的静态加载:(可以在activity中直接findViewById,动态加载也一样) 第一步:在Activity的xml文件中写<fragment......android:name="包名。。。类名">第二步:fragment文件中用inflater实例化一个viewView view=inflater.inflate(R.layout.fragment,contai原创 2015-05-10 22:29:52 · 416 阅读 · 0 评论 -
5.3在代码中生成数量未知的控件
(1)为了画音高线需要在代码中生成view控件,但随着每句歌词的字数不同控件数量也不同:private TextView[] textView;...... textView=new TextView[10];(假设返回的控件数量小于10) for(int i=0;i<返回的控件数量;i++) { textView[i]=new TextView(this); re原创 2015-05-03 22:39:14 · 349 阅读 · 0 评论 -
5.11计算程序运行时间以及activity与fragment的通信
(1)layout_gravity在相对布局中没效果,要用layout_centerHorizontal=“true” (2)c++中计算程序运行时间#include <time.h>int main(){ clock_t start,finish; long totalTime; start =clock(); 要测试的代码 finish=clock(); t原创 2015-05-12 10:18:38 · 399 阅读 · 0 评论 -
5.4jni返回结构数组
(1)textView.setBackgroundColor(Color.RED); (2)java中可以用变量定义数组:int count=0;int[] scores=new int[count];(3)jni中返回结构数组:(对应到java中为类) 纠结了一个下午的pitch值被覆盖的问题是因为obj不能为同一个(需要更新)jobjectArray Java_com_example_sm原创 2015-05-04 22:26:39 · 702 阅读 · 0 评论 -
5.27fragment向activity中传递数据
(1)修第二句话时报了内存的错,后来发现在设endDataIndex时减了100,这导致了在修“你”时修的帧数超过了数据的帧数产生了数组越界的错误。 感悟:java中内存出的问题啊好像都是数组越界。 (2)设置按钮为不可见:btn.setVisibility(View.GONE);(3)fragement向activity中传递数据在fragment中定义接口,在activity中实现pub原创 2015-05-27 21:21:07 · 473 阅读 · 0 评论