当前位置:  编程技术>移动开发
本页文章导读:
    ▪TextView 展示网络图片        TextView 显示网络图片 TextView 显示本地图片,或访问网络图片资源   package com.hilary; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.net.URL; import android.app.Activity; import andro.........
    ▪ AudioManager整合系统音量(转)        AudioManager调整系统音量(转) 前面讲过AudioManager可以修改系统的情景模式,其实看它名字,就知道Android系统的音量也是由它管理的.下面介绍几个AudioManager的几个音量调整方面的方法.首先是得.........
    ▪ apk跟odex的合并教程       apk和odex的合并教程 adb push ./dexopt-wrapper  /data/local adb shell cd /data/local ./dexopt-wrapper  test.apk test.odex上述的步骤是将apk转化为odex格式文件。其中用到的dexopt-wrapper 附件中有。中间可能回遇到permi.........

[1]TextView 展示网络图片
    来源: 互联网  发布时间: 2014-02-18
TextView 显示网络图片

TextView 显示本地图片,或访问网络图片资源

 

package com.hilary;

import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.net.URL;

import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.Handler;
import android.text.Html;
import android.text.Html.ImageGetter;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;

import com.hilary.utils.AsyncImageLoader;

public class Main extends Activity {
	Button btn2;
	ImageView imge;
	Thread thread = null;
	Runnable runnable = null;
	TextView textView = null;
	 Drawable dra = null;
	private AsyncImageLoader asyncImageLoader;
	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		asyncImageLoader = AsyncImageLoader.getAsyncImageLoader();
		btn2 = (Button) findViewById(R.id.btn2);
		textView = (TextView) findViewById(R.id.show_tv);
		btn2.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				Handler handler = new Handler();
//				handler.post(runable);
				textView.setText(Html.fromHtml( _readFile("/sdcard/test2.txt"), imgGetter, null));
			}
		});
	}
	
	public String _readFile(String str) {
		StringBuffer sb = new StringBuffer();
		File file = new File(str);
		try {
			FileReader is = new FileReader(file);
			while (is.ready()) {
				int c = is.read();
				sb.append((char) c);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
		return sb.toString();
	}
	
	ImageGetter imgGetter = new Html.ImageGetter() {

		@Override
		public Drawable getDrawable(String source) {
			System.out.println("***" + source);
			//异步加载图片
//			 Drawable drawable = asyncImageLoader.loadDrawable(
//					source, new ImageCallback() {
//
//						@Override
//						public void imageLoaded(Drawable imageDrawable,
//								String imageUrl) {
//							 if (imageDrawable == null) {
//							 } else {
//								 imageDrawable.setBounds(0, 0, imageDrawable.getIntrinsicWidth(), imageDrawable   
//						                    .getIntrinsicHeight()); 
//							 }
//							 dra = imageDrawable;
//						}
//					});
//			if(source.equals("1")){
//				drawable = Main.this.getResources().getDrawable(R.drawable.aa);
//			} else if (source.equals("2")){
//				drawable = Main.this.getResources().getDrawable(R.drawable.b);
//			} else {
//				drawable = Main.this.getResources().getDrawable(R.drawable.icon);
//			}
			URL url;  
			Drawable drawable = null;
            try {  
                url = new URL(/blog_article/source/index.html);  
                drawable = Drawable.createFromStream(url.openStream(), "");  
            } catch (Exception e) {  
                return null;  
            }  

			drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable   
                    .getIntrinsicHeight()); 
			return drawable;
		}   
		
	};

}
 

    
[2] AudioManager整合系统音量(转)
    来源: 互联网  发布时间: 2014-02-18
AudioManager调整系统音量(转)
前面讲过AudioManager可以修改系统的情景模式,其实看它名字,就知道Android系统的音量也是由它管理的.下面介绍几个AudioManager的几个音量调整方面的方法.
首先是得到AudioManager实例:

AudioManager am=(AudioManager)getSystemService(Context.AUDIO_SERVICE);


调整音量方法有两种,一种是渐进式,即像手动按音量键一样,一步一步增加或减少,另一种是直接设置音量值.
首先是步进的方法:

public void adjustStreamVolume (int streamType, int direction, int flags) 


am.adjustStreamVolume (AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI); 


解释一下三个参数
第一个streamType是需要调整音量的类型,这里设的是媒体音量,可以是:
STREAM_ALARM 警报
STREAM_MUSIC 音乐回放即媒体音量
STREAM_NOTIFICATION 窗口顶部状态栏Notification,
STREAM_RING 铃声
STREAM_SYSTEM 系统
STREAM_VOICE_CALL 通话
STREAM_DTMF 双音多频,不是很明白什么东西
第二个direction,是调整的方向,增加或减少,可以是:
ADJUST_LOWER 降低音量
ADJUST_RAISE 升高音量
ADJUST_SAME 保持不变,这个主要用于向用户展示当前的音量
第三个flags是一些附加参数,只介绍两个常用的
FLAG_PLAY_SOUND 调整音量时播放声音
FLAG_SHOW_UI 调整时显示音量条,就是按音量键出现的那个
然后是直接设置音量值的方法:

public void setStreamVolume (int streamType, int index, int flags) 


am.setStreamVolume(AudioManager.STREAM_MUSIC, am.getStreamMaxVolume(AudioManager.STREAM_MUSIC), AudioManager.FLAG_PLAY_SOUND); 


第一个和第三个参数与上面的相同,第二个参数是一个音量的int值,getStreamMaxVolume(int streamType)得到的是该类型音量的最大值,可以根据这个值计算你需要的音量,我这里直接调到最大.

原文:http://www.pocketdigi.com/20110717/398.html

    
[3] apk跟odex的合并教程
    来源: 互联网  发布时间: 2014-02-18
apk和odex的合并教程

adb push ./dexopt-wrapper  /data/local
adb shell
cd /data/local
./dexopt-wrapper  test.apk test.odex

上述的步骤是将apk转化为odex格式文件。
其中用到的dexopt-wrapper 附件中有。
中间可能回遇到permission deny的问题
是因为dexopt这个文件没有权限。
可以给加上权限
chmod 777 dexopt-wrapper


第一步,分解odex文件:
java -jar baksmali-1.2.8.jar -x test.odex
如果没其他问题,会在工作目录生成一个out的目录,里面是分解出来的一些文件,我们在此不深究这些文件的作用。


第二部,把分解得到的文件变成classes.dex:
java -Xmx512M -jar smali-1.2.8.jar out -o classes.dex
这样,我们就得到了一个有用的classes.dex文件,用WinZip或者WinRAR打开test.apk文件,把这个classes.dex放进去,最后再用signapk把最新得到的这个包含classes.dex的apk重新签署一下,就生成一个可以安装的单独APK程序了。


签名的命令行
keytool -genkey -v -keystore android.keystore -alias android -keyalg RSA -validity 20000



jarsigner -verbose -keystore android.keystore -signedjar test_signed.apk test.apk android

如果签名失败的话,需要把apk包内mtf内的mf,sf两个文件删掉再进行操作。

附件中的几个jar都要放在工作目录下。

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3