分享

EoeAndroid论坛问题总结(1)

 earthworm 2011-05-17
您还未登录!|登录|注册|帮助
CSDN首页 资讯 论坛 博客 下载 搜索 更多CTO俱乐部
学生大本营
培训充电
移动开发
软件研发
云计算
程序员
TUP
潇湘夜雨的专栏
--------Android学习小结
条新通知 登录 注册 欢迎 退出 我的博客 配置 写文章 文章管理 博客首页   全站 当前博客  空间 博客 好友 相册 留言 用户操作
[留言]  [发消息]  [加为好友] 
张志国ID:nmgchfzhzhg
共7011次访问,排名2万外,好友0人,关注者2人。
","qq":"810903987
张志国的文章
原创 34 篇
翻译 3 篇
转载 17 篇
评论 5 篇
订阅我的博客
    
 
 
 
[编辑]nmgchfzhzhg的公告
自己努力~~准备重新找工作~~希望大家支持哦~~~
[编辑]文章分类
Android学习
Android资料
BlackBerry学习~~
java代码
编程经典
其他爱好
数据库
心情日志
[编辑]友情链接
eoeAndroid开发社区
奇奇安全网
彩虹阁
存档
2010年12月(5)
2010年11月(4)
2010年10月(4)
2010年09月(25)
2010年08月(6)
2010年07月(10)
公告: 程序员生活秀,挑你最爱,领取礼包! [意见反馈][官方博客]   EoeAndroid论坛问题总结(1) 收藏
1、android 中xml中的&问题。高手阿,只需要您轻轻提点一下?
      在XML的双引号中& 用&替换没有用,刚试了下。是可以的。
<string name="toptext"><a href="www./uid=000&password=111">登录</string>
可以正常工作!
2、怎么在java代码中动态的调整布局或者控件的透明度呢?
    用View类的setBackground(int)方法参数的格式是0xffffffff前两个f是表示透明度,从00到ff后面的就是RGB的值了。
3、 Android横屏竖屏切换的问题?
    要让程序界面保持一个方向,不随手机方向转动而变化的处理办法:
 
在AndroidManifest.xml里面配置一下就可以了。加入这一行android:screenOrientation="landscape"。
例如(landscape是横向,portrait是纵向):
Java代码:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas./apk/res/android"
      package="com.ray.linkit"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".Main"
                  android:label="@string/app_name"
                  android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
                <activity android:name=".GamePlay"
                android:screenOrientation="portrait"></activity>
                <activity android:name=".OptionView"
                android:screenOrientation="portrait"></activity>
    </application>
    <uses-sdk android:minSdkVersion="3" />
</manifest>
另外,android中每次屏幕的切换动会重启Activity,所以应该在Activity销毁前保存当前活动的状态,在Activity再次Create的时候载入配置,那样,进行中的游戏就不会自动重启了!
有的程序适合从竖屏切换到横屏,或者反过来,这个时候怎么办呢?可以在配置Activity的地方进行如下的配置android:screenOrientation="portrait"。这样就可以保证是竖屏总是竖屏了,或者landscape横向。
而有的程序是适合横竖屏切换的。如何处理呢?首先要在配置Activity的时候进行如下的配置:android:configChanges="keyboardHidden|orientation",另外需要重写Activity的onConfigurationChanged方法。实现方式如下,不需要做太多的内容:
@Override
        public void onConfigurationChanged(Configuration newConfig) {
                super.onConfigurationChanged(newConfig);
                if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
                        // land do nothing is ok
                } else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
                        // port do nothing is ok
                }
        }
4、使用TranslateAnimation完成一次移动之后,组件会回到原来的位置,请问怎么不让他回到原来的位置呢?
     使用animation的setFillAfter方法,设为true。
5、如何拿到drawable文件夹里的图片?
      地址是拿不到的,这个你没有权限,所以你需要把你的图片拷贝一份到sdcard中去,而把图片读成流写到sdcard貌似,drawable文件夹下没有提供支持,你可以把所有的文件再拷贝一份到assets然后this.getAssets().open(fileName)就可以拿到流了,然后,你把它写到sdcard上去,然后就有了地址,这个时候,拿到url,你再Uri.parse(url)就可以了。
6、想用surfaceview显示一幅Bitmap图片,当切换为横屏时,想将图片占满整个屏幕(图片全屏),有哪位高手知道应如何实现?
     你可以用drawBitmap(Bitmap bitmap, Rect src, Rect dst, Paint paint) ,Draw the specified bitmap, scaling/translating automatically to fill the destination rectangle.这个函数,会自动的拉伸图片src和paint都可以为null dst为 new一个rect(0,0,高,宽);
7、如何在Android从Buffer缓冲区内读取音频数据文件然后播放的问题?
     目前的可行方案是:
1.将buffer缓冲区中数据保存成临时文件,然后用MediaPlayer播放;
2.如果buffer缓冲区中数据是纯pcm格式的声音数据,可以用AudioTrack播放;
3.如果是其它格式,需要先解码成纯pcm格式,再通过2的方法播放;
8、android TextView跑马灯效果怎么弄呢?
    

        Intent intent = new Intent();
        intent.setClassName("com.android.settings", "com.android.settings.SecuritySettings");
        startActivity(intent);
14、如何查看Android自带的SQLite?
       1.eclipse->window->show view->other->android->file explorer
       2.用虚拟光驱工具 直接打开:C:\Documents and Settings\Administrator\.android\avd\test.avd\sdcard.img
15、天天动听1.2的桌面歌词是怎么实现的?
        android.permission.SYSTEM_ALERT_WINDOW允许一个程序打开窗口使用 TYPE_SYSTEM_ALERT,显示在其他所有程序的顶层(Allows an application to open windows using the type TYPE_SYSTEM_ALERT, shown on top of all other pplications. )
android.permission.INTERNAL_SYSTEM_WINDOW允许打开窗口使用系统用户界面(Allows an application to open windows that are for use by parts of the system user interface. )
 
16、如何将Canvas 上的内容转换为一张Bitmap?
       首先setDrawingCacheEnabled(true);
你要显示的都显示出来后buildDrawingCache();
最后Bitmap b=getDrawingCache();
 

17、Android如何实现文件下载并自动安装apk包?
//下载apk程序代码
protected File downLoadFile(String httpUrl) {
                // TODO Auto-generated method stub
                final String fileName = "updata.apk";
                File tmpFile = new File("/sdcard/update");
                if (!tmpFile.exists()) {
                        tmpFile.mkdir();
                }
                final File file = new File("/sdcard/update/" + fileName);
                try {
                        URL url = new URL(httpUrl);
                        try {
                                HttpURLConnection conn = (HttpURLConnection) url
                                                .openConnection();
                                InputStream is = conn.getInputStream();
                                FileOutputStream fos = new FileOutputStream(file);
                                byte[] buf = new byte[256];
                                conn.connect();
                                double count = 0;
                                if (conn.getResponseCode() >= 400) {
                                        Toast.makeText(Main.this, "连接超时", Toast.LENGTH_SHORT)
                                                        .show();
                                } else {
                                        while (count <= 100) {
                                                if (is != null) {
                                                        int numRead = is.read(buf);
                                                        if (numRead <= 0) {
                                                                break;
                                                        } else {
                                                                fos.write(buf, 0, numRead);
                                                        }
                                                } else {
                                                        break;
                                                }
                                        }
                                }
                                conn.disconnect();
                                fos.close();
                                is.close();
                        } catch (IOException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                        }
                } catch (MalformedURLException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }
                return file;
        }
//打开APK程序代码
private void openFile(File file) {
                // TODO Auto-generated method stub
                Log.e("OpenFile", file.getName());
                Intent intent = new Intent();
                intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                intent.setAction(android.content.Intent.ACTION_VIEW);
                intent.setDataAndType(Uri.fromFile(file),
                                "application/vnd.android.package-archive");
                startActivity(intent);
        }
 18、软键盘挡住输入款解决办法?
       大家在布局时候,有时候会发现输入框被挡住一部分,能完全显示出来,但是系统自带短信界面
可以完全漂浮在软键盘之上,看了一下短信源码,修改一下输入模式就可以了,源码如下
代码方式: 
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE |
                WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
  xml方式:
<activity android:name=".Activity.FilterActivity" android:label="@string/app_name"  android:windowSoftInputMode="stateHidden" android:screenOrientation="portrait" android:configChanges="keyboardHidden|orientation"
           />
19、 怎么获取所有应用的图标,和有哪些获取应用的接口?
List<PackageInfo> pil=   packageManager.getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES);   
PackageManager.getApplicationIcon(pi.applicationInfo);——Returns the image of the icon
pi是上面list的成员。

       TextView v=new TextView(this);
        //TextView v=(TextView)findViewById(R.id.marquee);
        v.setText("哇哈哈哇哈哈哇哈哈哇哈哈哇哈哈wahahawahhahwahhahahwahahhahahawhahhaha......");
        v.setTransformationMethod(SingleLineTransformationMethod.getInstance());
        v.setSingleLine(true);
        v.setEllipsize(TruncateAt.MARQUEE);
        v.setMarqueeRepeatLimit(3);
        setContentView(v);
        v.setFocusable(true);
11、android短信的草稿箱主键是?
 9、获悉当前焦点的位置?
      getCurrentFocus()便可,返回一个View引用。
10、Android中得到正在运行的应用程序名?
       通过ActivityManager.RunningAppProcessInfo.processName 可以得到,行如com.android.phone的进程名 ActivityManager.getRecentTasks(),然后从RecentTaskInfo里读,比如origActivity

       注:将编辑后的草稿保存到草稿箱中,如果保存两条号码相同的草稿,后面那条会把前面的覆盖掉,难道草稿箱的主键是address?
不知道该怎么解决这个问题?
        private void asyncUpdateDraftSmsMessage(final Conversation conv, final String contents) {
        new Thread(new Runnable() {
            public void run() {
                long threadId = conv.ensureThreadId();
                conv.setDraftState(true);
                updateDraftSmsMessage(threadId, contents);
            }
        }).start();
    }
其中的ensureThreadId()方法中会根据有没有收件人来判定thread_id,如果没有输入收件人,就会
调用如下代码
if(mRecipients.size() <= 0) {
                HashSet<String> recipient = new HashSet<String>();
                recipient.clear();
                mThreadId = Threads.getOrCreateThreadId(mContext, recipient);
生成一个新的thread_id.
如果是匿名收件人的话,生成的thread_id是一样的(我通过调试看到的),然后再调用下面的代码把信息存入草稿箱。
ContentValues values = new ContentValues(3);
        values.put(Sms.THREAD_ID, thread_id);
        values.put(Sms.BODY, contents);
        values.put(Sms.TYPE, Sms.MESSAGE_TYPE_DRAFT);
        SqliteWrapper.insert(mContext, mContentResolver, Sms.CONTENT_URI, values);
        asyncDeleteDraftMmsMessage(thread_id);
12、通过程序中调出系统的短信应用界面,显示的是短信的列表(未读等状态)。
      
Intent mIntent = new Intent( );
ComponentName comp = new ComponentName("com.android.mms", "com.android.mms.ui.ConversationList");
mIntent.setComponent(comp);
mIntent.setAction("android.intent.action.VIEW");
context.startActivity(mIntent);
 13、 在ListView中有个addFooterView的用法?

    
LinearLayout footView = (LinearLayout) LayoutInflater.from(this)
                                .inflate(R.layout.list_footer, null);
mList.addFooterView(footView);  //<-这句一定要放在setAdapter之前
mList.setAdapter(adapter);
发表于 @ 2010年09月02日 20:15:00 | 评论( 0 ) | 编辑| 举报| 收藏
旧一篇:java解析txt文件 | 新一篇:Android的UI结构试图工具hierarchyviewer
-
查看最新精华文章 请访问博客首页相关文章 发表评论 表 情:           评论内容:  用 户 名: 登录 注册 匿名评论 匿名用户验 证 码:   重新获得验证码    专区推荐内容【教程】基于VC色温图效果实现
【教程】游戏技巧特效处理
Qt开发者社区精彩全新呈现!
Firefox 4在meego上成功安装
IDF2011:多图详解MeeGo 3月后正式发布
PayPal助力移动支付应用
Android应用换电视,前30名有效!
【教程】笔记本安装MeeGo
微软BI解决方案开发简介
如何用Qt设置桌面背景
下载Windows Phone 中文培训包
下载 Windows Phone 开发工具
全新Windows Phone 开发中心
VS2010 SharePoint 入门
【免费下载】WebMatrix建站工具
AIX 专区有奖话题讨论
4.21日Adobe企业RIA开发者研讨会
MeeGo中文社区全新呈现
Linux 上简单的MeeGo 开发 QT 程序
软件产品性能优化注意事项
用C#实现HTTP协议下的多线程文件传输
【实战】搭建Meego Tablet开发测试平台
AppUp Center为更多程序员创造机会
【源码分享】一个多线程下载文件的程序
轻松漫画聊快速构建网站
如何创建一个简单的Qt应用程序
【赢取旧金山之旅】2011线程挑战赛
【图】爱上NOOK COLOR的5个理由
IPAD&NOOK COLOR屏幕对比多图
【教程】AppUp 进阶基础篇
Nokia CEO:下一步会与谁合作?
点评三星Smart TV智能电视
太震撼了!首次参加IDF有感
<<>> 热门招聘职位 【更多】【欢网科技】诚聘系统架构师、需求分析师、开发工程师
【酷狗音乐】诚聘VC、服务端开发工程师等职位
【法国电信】诚聘研发类人才
【飞漫公司】诚聘C/C++研发工程师、软件测试等!
【文明盛世】诚聘百万年薪高级程序员
【法国电信】诚聘研发类人才
【上海电科智能】高新诚聘JAVA和C#等软件工程师
【仙掌软件】高新诚聘java、android、iPhone软件工程师等职位,期待您的加入!
【国科环宇公司】招聘VC++软件工程师4名,嵌入式开发工程师1名
【西门子电子装配系统有限公司】诚聘软件产品经理
【完美世界】(原完美时空)诚聘各类游戏领域人才
【苏州迈科网络】诚聘Linux&C研发/产品/Java/产品/项目经理
【梦擎科技】诚聘Android ,iPhone ,C++ 通讯应用开发等IT人才
【上海智涌】高薪诚聘 C++高级工程师
【创思佳天津公司】招JAVA开发爱好者人才及天才设计师
【仟游软件2K Games China】诚聘程序员/高级程序员
【西普科技】高薪诚聘.net软件工程师、网页设计、产品经理
【海慧公司】诚聘中高级程序员
【亿阳信通】诚邀您的加盟!
【点点网】诚聘英才!!!
【Amazon】亚马逊诚聘技术专家!
【趣游北京】高薪诚聘C++高级工程师/工程师 AS3工程师
【华夏纬讯】高薪诚聘C#程序员
【航天信息股份有限公司】诚聘系统架构,需求分析、JAVA开发、C/C++开发研发岗位热招中
【欢网科技】诚聘系统架构师、需求分析师、开发工程师
【酷狗音乐】诚聘VC、服务端开发工程师等职位
【法国电信】诚聘研发类人才
【飞漫公司】诚聘C/C++研发工程师、软件测试等!
【文明盛世】诚聘百万年薪高级程序员
【法国电信】诚聘研发类人才
【上海电科智能】高新诚聘JAVA和C#等软件工程师
【仙掌软件】高新诚聘java、android、iPhone软件工程师等职位,期待您的加入!
【国科环宇公司】招聘VC++软件工程师4名,嵌入式开发工程师1名
【西门子电子装配系统有限公司】诚聘软件产品经理
【完美世界】(原完美时空)诚聘各类游戏领域人才
【苏州迈科网络】诚聘Linux&C研发/产品/Java/产品/项目经理
【梦擎科技】诚聘Android ,iPhone ,C++ 通讯应用开发等IT人才
【上海智涌】高薪诚聘 C++高级工程师
【创思佳天津公司】招JAVA开发爱好者人才及天才设计师
【仟游软件2K Games China】诚聘程序员/高级程序员
【西普科技】高薪诚聘.net软件工程师、网页设计、产品经理
【海慧公司】诚聘中高级程序员
【亿阳信通】诚邀您的加盟!
【点点网】诚聘英才!!!
【Amazon】亚马逊诚聘技术专家!
【趣游北京】高薪诚聘C++高级工程师/工程师 AS3工程师
【华夏纬讯】高薪诚聘C#程序员
【航天信息股份有限公司】诚聘系统架构,需求分析、JAVA开发、C/C++开发研发岗位热招中
 公司简介|招贤纳士|广告服务|银行汇款账号|联系方式|版权声明|法律顾问|问题报告
北京创新乐知信息技术有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
江苏乐知网络技术有限公司 提供商务支持
 Email:webmaster@csdn.net
Copyright © 1999-2011, CSDN.NET, All Rights Reserved
 
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/nmgchfzhzhg/archive/2010/09/02/5859756.aspx

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多