19

YII::app()->baseUrl – 当前网页的baseUrl
$this->createUrl(‘site/login’) – 以网站根目录为基础,创建新的连接url
$this->redirect(array(‘site/index’)) – 直接跳转到layout界面
Yii::app()->basePath – 网站在服务器上的文件夹路径

19

CAPTCHA图片不显示的问题仿佛很普遍,首先确保你的GD插件已经启用,是否启用看phpinfo就知道了。如果GD已经启用,而直接打开CAPTCHA图片时提示“图像XXX因其本身有错无法显示” ,可以尝试通过以下几种方法来解决 :
1 尽量删除文中的空格
2 在php文件顶部加入error_reporting(0);
3 在header输出前加入ob_clean(); 也就是:

                ob_clean();//加上这行
		header('Pragma: public');
		header('Expires: 0');
		header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
		header('Content-Transfer-Encoding: binary');
		header("Content-type: image/png");
		imagepng($image);
		imagedestroy($image);
02

Java的IO操作真是复杂,要经过以下几个步骤:
URL->HttpURLConnection->InputStream->InputStreamReader->BufferReader.readLine()
请看通用的类HttpDownloader:

package cc.ewings.download;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class HttpDownloader {
	private URL url=null;

	//本函数近适用于文本类文件的下载
	public String download(String urlStr){
		StringBuffer sb=new StringBuffer();
		String line=null;
		BufferedReader buffer = null;
		try{
			//URL->HttpURLConnection->InputStream->InputStreamReader->BufferReader.readLine()
			url=new URL(urlStr);
			HttpURLConnection urlConn=(HttpURLConnection) url.openConnection();
			buffer = new BufferedReader(new InputStreamReader(urlConn.getInputStream()));
			while((line=buffer.readLine()) != null){
				sb.append(line);
			}
		} catch (Exception e){
			e.printStackTrace();
		} finally {
			try{
				buffer.close();
			} catch(Exception e){
				e.printStackTrace();
			}
		}

		return sb.toString();

	}
}
01

一 广播机制

1 创建一个继承自BroadReceiver的类MyReceiver:

package cc.ewings.BroadcastTest;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class MyReceiver extends BroadcastReceiver {

	@Override
	public void onReceive(Context arg0, Intent arg1) {
		// TODO Auto-generated method stub
		System.out.println("received");
	}
}

2 在主类中广播intent

package cc.ewings.BroadcastTest;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class BroadCastActivity extends Activity {
    Button myBtn;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        myBtn=(Button) this.findViewById(R.id.myBtn);
        myBtn.setOnClickListener(new MyListener());
    }

    class MyListener implements OnClickListener{

		public void onClick(View arg0) {
			// TODO Auto-generated method stub
			Intent myIntent=new Intent();
			myIntent.setAction(Intent.ACTION_EDIT);
			BroadCastActivity.this.sendBroadcast(myIntent);
		}

    }
}

3 在Manifest中注册receiver

<receiver android:name=".MyReceiver">
        <intent-filter>
            <action android:name="android.intent.action.EDIT"/>
        </intent-filter>
    </receiver>

注: 在主Activity中也可以直接注册侦听,这样就不用再Manifest注册了:

package cc.ewings.BroadcastTest;

import android.app.Activity;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class BroadCastCodeDefine extends Activity {
    Button myBtn;
    MyReceiver receiver;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        myBtn=(Button) this.findViewById(R.id.myBtn);
        myBtn.setOnClickListener(new MyListener());
        receiver=new MyReceiver();
        registerReceiver(receiver, new IntentFilter("cc.ewings.foodstar.refreshPage"));
    }

    @Override
    protected void onPause() {
        super.onPause();
         unregisterReceiver(receiver);
    }

    class MyListener implements OnClickListener{

		public void onClick(View arg0) {
			// TODO Auto-generated method stub
			System.out.println("broadcasting");
			Intent myIntent=new Intent();
			myIntent.setAction("cc.ewings.foodstar.refreshPage");
			BroadCastCodeDefine.this.sendBroadcast(myIntent);
		}

    }
}

这样的好处是,可以关闭侦听。用Manifest中注册的,则关闭程序后仍然能收到侦听。

30

一  用adb工具查看数据库,依次使用以下命令:

cmd->adb shell
cd data/data/包名/databases
ls
sqllite3 数据库名
select * form 表名; Continue reading “Android: SQLite教程”

Adsense place!

From The Past

Feed Icon