相容安卓的java工程1.0

來源:互聯網
上載者:User

標籤:安卓   系統   相容   java   虛擬機器   

 
//相容安卓的系統
package cn.com.likeshow;import java.lang.reflect.Constructor;import java.lang.reflect.InvocationTargetException; import myvm.test.myActivity;/* * author  張章 *  * time 2014-5-12 *  */public class Activity {private Bundle bundle;//savedInstanceState用於activity見傳遞參數protected void onCreate(Bundle savedInstanceState) {this.bundle=savedInstanceState;} protected Intent getIntent(){return bundle.getIntent();}protected static Context getApplicationContext(){return null;}protected void startActivity(Intent intent) {//通過反射完成對象建立Activity activity=intent.getPreActivity();Class class1=intent.getAfterActivity(); Constructor con=class1.getConstructors()[0]; try {Activity activity2=(Activity) con.newInstance();//把Bundele最為參數傳入,調用getIntent()時會從bundle中擷取activity間傳遞的參數activity2.onCreate(new Bundle(intent));} catch (Exception e) {e.printStackTrace();} }protected void setContentView(int id) {System.out.println("setContentView " + id);}protected boolean onCreateOptionsMenu(Menu menu) { return true;}protected boolean onOptionsItemSelected(MenuItem item) { return true;}protected static class Toast{private Context applicationContext;private static String s;private int t;private Toast(Context applicationContext2, String string, int i) {this.applicationContext=applicationContext2;this.s=string;this.t=i;}public static Toast makeText(Context applicationContext,String string, int i)    {  //實際安卓中不一定是返回Toast對象,該案例只用於類比安卓實現原理return new Toast(applicationContext,string,i);   }   public static void show()       {   int len=s.length()+2;   for(int i=0;i<len;i++)   System.out.print("*"); System.out.print("\n*" +s+"*\n");  for(int i=0;i<len;i++)   System.out.print("*"); System.out.println();   }}public static void main(String[] args) {//方便起見,假定預設啟動myActivity,當然可以通過讀取設定檔,知道預設啟動的Activitynew myActivity().onCreate(new Bundle(null));}}


 

package cn.com.likeshow;public class Bundle {private  Intent intent;public Bundle (Intent intent){this.intent=intent;}public Intent getIntent() {return intent;}public void setIntent(Intent intent) {this.intent = intent;}}


 

package cn.com.likeshow;import java.io.ObjectInputStream.GetField;import java.util.HashMap;import java.util.Map;public class Intent {private Map<String ,Object>map;private Activity activity;private Class class1;public Intent(Activity activity, Class<? extends Activity> class1){map=new HashMap<String, Object>();this.activity=activity;this.class1=class1;}public void putExtra(String str,Object obj){map.put(str, obj);}public Object getExtra(String str){return  map.get(str);}public Activity getPreActivity(){return activity;}public Class getAfterActivity(){return class1;}}


//==========簡易樣本安卓代碼如下=========================================================

package myvm.test;import cn.com.likeshow.Activity;import cn.com.likeshow.Bundle;import cn.com.likeshow.Intent;public class myActivity extends Activity { @Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);System.out.println("myActivity 啟動");setContentView(1);Toast.makeText(getApplicationContext(),"哈哈Toast",0).show();Intent intent=new Intent(myActivity.this, SecondActivity.class);intent.putExtra("myActivity", "hello 2activity");startActivity(intent);Toast.makeText(getApplicationContext(),"SecondActivity啟動完畢",0).show();Intent intent2=new Intent(myActivity.this, ThirdActivity.class);intent2.putExtra("1", "hello 3activity");startActivity(intent2);Toast.makeText(getApplicationContext(),"ThirdActivity啟動完畢",0).show();}}


 

package myvm.test;import cn.com.likeshow.Activity;import cn.com.likeshow.Bundle;import cn.com.likeshow.Intent; public class SecondActivity extends Activity{@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);System.out.println("SecondActivity 啟動");setContentView(2);Intent intent=getIntent();Object object=intent.getExtra("myActivity");Object object2=intent.getExtra("1");System.out.println("SecondActivity "+object);System.out.println("SecondActivity "+object2);Toast.makeText(getApplicationContext(),"SecondActivity執行完畢",0).show();}}


 

package myvm.test;import cn.com.likeshow.Activity;import cn.com.likeshow.Bundle;import cn.com.likeshow.Intent; public class ThirdActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);System.out.println("ThirdActivity 啟動");setContentView(3);Intent intent=getIntent();Object object=intent.getExtra("myActivity");Object object2=intent.getExtra("1");System.out.println("ThirdActivity "+object);System.out.println("ThirdActivity "+object2);Toast.makeText(getApplicationContext(),"ThirdActivity執行完畢",0).show();}}


========== =================

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.