android笔记

【2010/2/27】

1:
android里view显示的位置都是针对layout来说的,不是针对手机屏幕左上角。

2:
view里显示图片是,要对图片进行 处理,将普通图片转变为位图,语法是:
Bitmap bitmap = Bitmap.createBitmap(width, height,
    Bitmap.Config.ARGB_8888);
  //像管道一样
  Canvas canvas = new Canvas(bitmap);
  drawable.setBounds(0, 0, width, height);
  drawable.draw(canvas);

3:
围棋主页面中,要想让滚动条左右滑动,就要反复的调用rootMainView 里的onDraw()方法,并且每次调用都要改变
横坐标的值;但是这个调用onDraw方法的任务必须通过RootMainAct(或RootAct)的handler放到主线程的message queue
里,让线程来执行,如果另开一个线程,如在timer.schedule()这个线程里调用rootMainView里的invalidate方法(这个方法
会调用onDraw方法),希望通过这个方式来实现滚动条左右滑动,是不能实现的(结果是滚动条停留在一个位置,原因可能是
主线程已经退出)。

围棋主页面中,要想让文字变化,不能在rootMainAct的onCreate方法里,用Thread技术来实现,因为这样的话,手机屏幕上显示
的是最后的一串文字(这个是因为在屏幕加载前,会先确定textView的值,这里虽然将textview的值改了四次,但只会显示最后一次
的文字值。);

如果开启一个线程,在这个线程里希望改textview的值,则运行程序会报错。

所以只有另开启一个线程,在这个线程里让这个线程通过handler把要改变文字值的这个动作传给主线程,这样就可以了。


【2010/2/27】

1:

package com.gaoge.android.feature;


import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.util.Log;

 

public class Activity1 extends Activity
{
    /** Called when the activity is first created. */
   
@Override
    public void onCreate(Bundle savedInstanceState)
{
        super.onCreate(savedInstanceState);
      
 Intent intent = new Intent(this, Activity2.class);
       
 
      setContentView(R.layout.main);
      
 Log.i("msg", "this is activity1");
       

this.startActivityForResult(intent, 1001);
   
}

 
@Override
 
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
  // TODO Auto-generated method stub
  
super.onActivityResult(requestCode, resultCode, data);
  
Log.i("-------requestCode", "requestCode is: " + requestCode);
 
}

}      

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class Activity2 extends Activity {

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  // TODO Auto-generated method stub
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity2);
  Log.i("------------activity2", "this is output by activity2");
//  
 }
 

}
报错:
activityNotFoundException
结果发现在androidManifest.xml里没有配置activity2
<activity android:name=".Activity2">
</activity>
然后成功,虽然主页面配置的是activity1,然而因为在activity1中调用了activity2,所以第一个显示的是activity2.
上两个是文件的源代码:
如果在文件Activity2里没有this.finish()方法的调用,则log.cat中输出了
Log.i("msg", "this is activity1");
 
Log.i("------------activity2", "this is output by activity2");
但是没有输出
Log.i("-------requestCode", "requestCode is: " + requestCode);
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值