当前位置:  编程技术>移动开发
本页文章导读:
    ▪V880 蜜橘:gen1升gen2 、永久root、刷机        V880 橘子:gen1升gen2 、永久root、刷机 一、 gen1 升gen2 +刷系统 下载 GEN1-TOGEN2-TPT-V7 和 要刷的ROM(系统的意思) 1. 先把存储卡内容拷贝到电脑备份。 2. gen1 升gen2 下载对应的软件(论坛很多,比如G.........
    ▪ Activity之间数据传递与共享的几种途径(bit地图篇)        Activity之间数据传递与共享的几种途径(bitmap篇) 1.基于消息的通信机制  Intent ---boudle ,extra    数据类型有限,比如遇到不可序列化的数据Bitmap,InputStream, 或者LinkList链表等等数据类型就不.........
    ▪ Gesture获取荧幕手写事件并显示相应信息       Gesture获取屏幕手写事件并显示相应信息     private GestureLibrary gesLib; private GestureOverlayView gesOverlay; private String gesPath; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setC.........

[1]V880 蜜橘:gen1升gen2 、永久root、刷机
    来源: 互联网  发布时间: 2014-02-18
V880 橘子:gen1升gen2 、永久root、刷机

一、 gen1 升gen2 +刷系统

下载 GEN1-TOGEN2-TPT-V7 和 要刷的ROM(系统的意思)

1. 先把存储卡内容拷贝到电脑备份。

2. gen1 升gen2 下载对应的软件(论坛很多,比如GEN1-TOGEN2-TPT-V7 )

3.下载之后解压,把解压得到的image 文件夹复制到内存卡的 根目录,主意!内存卡要fat32格式
4.  3.手机关机,关机之后,先按menu键和 音量+ ,按住这两个键不要放,然后再按电源键,等手机出现英文后!松开所有键,等手机自动重启!

5.手机自动重启后,会进入recovery界面,不要管它先!!也不要乱按手机!让手机保持recovery界面!把内存卡取下!! 把要刷的ROM拷贝到内存卡,然后把内存卡装上手机!!
6. 执行:移动到wipe data/factory XXXXX,按房子键确定,选yes,然后返回

7. 移动到wipe cache    XXX,按房子键确定,选yes,然后返回。

   上面这个步骤叫“wipe”,是清除数据的意思。防止旧数据对新系统造成干扰。
8. 然后把光标移动到install zip from sdcard,点进去,
9. 选“choose zip from sdcard”
10.  之后选你要刷的rom文件,按房子键,选yes,按房子键。
   稍后,待成功之后,返回。

11. 选reboot system now。重启手机。

 

 

 

二、ROOT:


root软件使用说明:

先把visionaryplus.r14 这软件下载到手机,再下载  Root.Explorer (RE管理器) 这个软件

1,先将visionaryplus.r14 安装到手机上,在手机设置中打开USB试调模式, 再运行visionaryplus.r14       运行后在Run visionary.sh after 和  set system r/w after 这两项后打勾 。


   点击Temproot Now 之后再点Attempt Permroot now  这项机子就会自动重启。(如果没破解成功请重复点  Temproot Now 之后再点Attempt Permroot now  这两项直到自动重启)
      
     OK机子也获得最高权限,永久ROOt。
2.重启动后安装 Root.Explorer(RE管理器) 这软件,完成后运行 Root.Explorer.v2.17.1(RE管理器)  ,就可以为所欲为,就可以随便删除本机自带多余的没用软件。

(小编自己补充:进入RE管理器,有个貌似读写挂载,再点击一下就可以获得删除文件的权限)

3 。最重要一点大家要先备份再进行删除,以免删错后悔莫及  
三、 恢复官方系统方法

1.去中兴官网 下载恢复工具http://www.zte.com.cn/**ata/mobile/Spbook/201112/P020111206366274920100.zip 解压后得到文件image.bin

新建一个叫Image文件夹

把 image.bin放入文件夹Image里

把含有image.bin的Image文件夹 放入手机SD卡根目录下

2.开始恢复

在关闭手机的状态下依次按住手机的(MENU+音量键+开机键(按的次序不要颠倒))都按住不要放手,

直到出现升级进度条方可放手,等待进度条走完,机器自动重启进入系统,恭喜你这是已经恢复到官

方系统。 

 

名词解释: 

fastboot从字面上看是快速启动的意思,其实也是和recovery一样的一种刷机模式,不过比recovery更底层,当你不能进入recovery模式时,不用担心,还可以用fastboot挽救,当你连fastboot都进不去时,那只有把手机送维修点了。

fastboot是一种线刷,就是使用USB数据线连接手机的一种刷机模式。

recovery是一种卡刷,就是将刷机包放在sd卡上,然后在recovery中刷机的模式。

 

 

 

 

四、已是gen2了,刷机如下咯

准备工作:下载好要刷的ROM到内存卡。 把内存卡无用的信息都清空。

(橘子版V880)音量-键然后再按电源键开机,一直按住, 直到出现小绿人,松开手。直至出现刷机页面,用音量键移动光标,房子确认。返回键还是返回键,菜单键没用处。

(国行咱不知道。百度到处都是国行的)

此时显示以下界面。


移动到wipe data/factory XXXXX,按房子键确定,选yes
然后返回,移动到wipe cache    XXX,按房子键确定,选yes
然后返回。

上面这个步骤叫“wipe”,是清除数据的意思。防止旧数据对新系统造成干扰。

然后把光标移动到install zip from sdcard,点进去,

选“choose zip from sdcard”
之后选你要刷的rom文件,按房子键,选yes,按房子键。
稍后,待成功之后,返回。

 

 

 

 

 

PS:刷机精灵支持V880刷机。 V880国行和橘子版 通刷

但U880不行。 U880的刷机方法也很简单,参照网上个论坛,比如www.hiapk.com的中兴U880。里面说的很想详细。

选reboot system now。重启手机。

第一次重启过程较长,别急。
开机好之后等几分钟关机,再开机,再装软件。

 

  

 

5、一些常见问题:
    通话黑屏:这是感应器失效而已,使用自带的Blade设置校正一下试试,大多数人可以解决,个别不能解决的,用RE 管理器 手动编辑/data/misc/prox_data.txt里面有修改的是首2个數字 :  XXX,YYY,238,238,246,0,0,8,32.到8846,8346,238,238,246,0,0,8,32一般就肯定能解决了。

 


    
[2] Activity之间数据传递与共享的几种途径(bit地图篇)
    来源: 互联网  发布时间: 2014-02-18
Activity之间数据传递与共享的几种途径(bitmap篇)
1.基于消息的通信机制  Intent ---boudle ,extra
    数据类型有限,比如遇到不可序列化的数据Bitmap,InputStream, 或者LinkList链表等等数据类型就不太好用。
2. 利用static静态数据, public static成员变量;
3.基于外部存储的传输,  File/Preference/ Sqlite ,如果要针对第三方应用需要Content Provider
4.基于IPC的通信机制
    context 与Service之间的传输,如Activity与Service之间的通信,定义AIDL接口文件。
   示例: http://www.eoeandroid.com/thread-36249-1-1.html
5. 基于Application Context, 例子如下文:

    在当前Activity将两个值传到了Test中。但如果遇到不可序列化的数据,如Bitmap、InputStream等,intent就无能为力了。因此,我们很自然地会想到另外一种方法,静态变量。如下面的代码所示:

    public  class  Product  extends  Activity
   {
         public  static  Bitmap mBitmap;
         
   }

    对于上面的代码来说,其他任何类可以直接使用Product中的mBitmap变量。这么做很easy、也很cool,但却very very wrong。我们千万不要以为Davlik虚拟机的垃圾回收器会帮助我们回收不需要的内存垃圾。事实上,回收器并不可靠,尤其是手机上,是更加的不可靠。 因此,除非我们要使自己的程序变得越来越糟糕,否则尽量远离static。
注:如果经常使用static的Bitmap、Drawable等变量。可能就会抛出一个在Android系统中非常著名的异常(以前budget这个单词一直记不住什么意思,自从经常抛出这个异常后,这个单词终于烂熟于心了, )
ERROR/AndroidRuntime(4958): Caused by: java.lang.OutOfMemoryError: bitmap size exceeds VM budget

    如果不使用static,总得有方法来代替它(尽管我很喜欢public static,我相信很多人也喜欢它,但为了我们的程序,建议还是忍痛割爱吧),那么这个新的就是本文的主题,这就是Application Context,相当于Web程序的Application,它的生命周期和应用程序一样长(这个我喜欢)。
    那么现在来看看如何使用这个Application Context。我们可以通过Context.getApplicationContext或Context.getApplication方法获得 Application Context。但要注意,我们获得的只是Context对象,而更理想的方法是获得一个类的对象。ok,说干就干,下面来定义一个类。

package  net.blogjava.mobile1;
import  android.app.Application;
import  android.graphics.Bitmap;
public  class  MyApp  extends  Application
{
     private  Bitmap mBitmap;
     public  Bitmap getBitmap()
    {
         return  mBitmap;
    }
     public  void  setBitmap(Bitmap bitmap)
    {
         this .mBitmap  =  bitmap;
    }
   
}

    上面这个类和普通的类没什么本质的不同。但该类是Application的子类。对了,这就是使用Application Context的第一步,定义一个继承自Application的类。然后呢,就在这个类中定义任何我们想使其全局存在的变量了,如本例中的 Bitmap。下面还需要一个重要的步骤,就是在<application>标签中使用android:name属性来指定这个类,代码如 下:

< application  android:name =".MyApp"  android:icon ="@drawable/icon"  android:label ="@string/app_name" >

</ application?

    接下来的最后一步就是向MyApp对象中存入Bitmap对象,或从MyApp对象中取出Bitmap对象了,存入Bitmap对象的代码如下:

    MyApp myApp  =  (MyApp)getApplication();
       
    Bitmap bitmap  =  BitmapFactory.decodeResource( this .getResources(), R.drawable.icon);
       
    myApp.setBitmap(bitmap);
    获得Bitmap对象的代码:
    ImageView imageview  =  (ImageView)findViewById(R.id.ivImageView);
       
    MyApp myApp  =  (MyApp)getApplication();
       
    imageview.setImageBitmap(myApp.getBitmap());
   
    上面两段代码可以在任何的Service、Activity中使用。全局的。
参考:
1.http://flyvenus.net/?p=229
2.http://blog.csdn.net/nokiaguy/archive/2010/11/10/5998986.aspx
转载自:http://blog.csdn.net/kieven2008/archive/2010/11/13/6006905.aspx

    
[3] Gesture获取荧幕手写事件并显示相应信息
    来源: 互联网  发布时间: 2014-02-18
Gesture获取屏幕手写事件并显示相应信息

 

 

private GestureLibrary gesLib;
	private GestureOverlayView gesOverlay;
	private String gesPath;

	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.get_gesture);

		/* 查看SDCard是否存在 */
		if (!Environment.MEDIA_MOUNTED.equals(Environment
				.getExternalStorageState())) {
			/* SD卡不存在,显示Toast信息 */
			Toast.makeText(GetGesture.this, "SD卡不存在!程序无法运行", Toast.LENGTH_LONG)
					.show();
			finish();
		}

		else {
			/* 取得GestureLibrary的文件路径 */
			gesPath = new File(Environment.getExternalStorageDirectory(),
					"gestures").getAbsolutePath();

			File file = new File(gesPath);

			if (!file.exists()) {
				/* gestures文件不存在,显示Toast信息 */
				Toast.makeText(GetGesture.this, "gestures文件不存在!程序无法运行",
						Toast.LENGTH_LONG).show();
				finish();
			}

			else {
				/* 初始化GestureLibrary */
				gesLib = GestureLibraries.fromFile(gesPath);
				if (!gesLib.load()) {
					/* 读取失败,显示Toast信息 */
					Toast.makeText(GetGesture.this, "gestures文件读取失败!程序无法运行",
							Toast.LENGTH_LONG).show();
					finish();
				} else {
					/* GestureOverlayView初始化 */
					gesOverlay = (GestureOverlayView) findViewById(R.id.myGestures1);
					gesOverlay.addOnGesturePerformedListener(new MyListener(
							this));
				}
			}
		}

	}

	/* 告定义OnGesturePerformedListener */
	public class MyListener implements OnGesturePerformedListener {
		private Context context;

		public MyListener(Context context) {
			this.context = context;
		}

		public void onGesturePerformed(GestureOverlayView overlay,
				Gesture gesture) {
			/* 手势比对 */
			ArrayList<Prediction> predictions = gesLib.recognize(gesture);
			if (predictions.size() > 0) {
				/* 取最接近的手势 */
				Prediction prediction = predictions.get(0);
				/* 取得预测值吹少己于1.0 */
				if (prediction.score > 1.0) {
					/* prediction.name?为?串预测结果 */
					Toast.makeText(this.context, prediction.name,
							Toast.LENGTH_SHORT).show();
				} else {
					/* 比对不到,显示Toast */
					Toast.makeText(this.context, "找不到匹配的Gesture!",
							Toast.LENGTH_SHORT).show();
				}
			} else {
				/* 比对不到,显示Toast */
				Toast.makeText(this.context, "找不到匹配的Gesture!",
						Toast.LENGTH_SHORT).show();
			}
		}
	}
 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
	xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent">
	<TextView
		android:id="@+id/myTextView1"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:text="请在屏幕上画出Gesture"
		android:textSize="18sp" />
	<android.gesture.GestureOverlayView
		android:id="@+id/myGestures1"
		android:layout_width="fill_parent"
		android:layout_height="0dip"
		android:layout_weight="1.0"
		android:gestureStrokeType="multiple" />
</LinearLayout>
 

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
oracle iis7站长之家
▪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