当前位置: 编程技术>移动开发
本页文章导读:
▪创建文件不可写的解决方法 创建文件不可写的解决办法
有时候你在ddms中可以看见创建了一个文件用file = new File( getFilesDir() + "/file.txt"); 但是呢它是只读的 这时候你会发现-rw------- ,那怎么才能写呢
1.file = new File( getFil.........
▪ ViewFlipper Animation 运用 ViewFlipper Animation 使用
ViewFlipper [功能]1. ViewFlipper 可以包含多个View 且View之间的切换有Animation 比如:渐变效果[代码]1. 创建包含ViewFlipper 的main.xml 还包含2个Button 用于各个View切换
<?xml ver.........
▪ AsyncTask 跟Timer同时使用 AsyncTask 和Timer同时使用
package com.example.test;
import java.net.URL;
import java.util.Timer;
import java.util.TimerTask;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.InputSource.........
[1]创建文件不可写的解决方法
来源: 互联网 发布时间: 2014-02-18
创建文件不可写的解决办法
有时候你在ddms中可以看见创建了一个文件用file = new File( getFilesDir() + "/file.txt");
但是呢它是只读的 这时候你会发现-rw------- ,那怎么才能写呢
1.file = new File( getFilesDir() + "/file.txt");
openFileOutput("file.txt", MODE_PRIVATE)
2.如果你已经确定他已经创建了 只是只读的 不能写那你可以哟偶那个
FileWriter fWriter;
try {
fWriter = new FileWriter(file, true);
fWriter.write("hello");
fWriter.close();
} catch (IOException e) {
// log error
}
[2] ViewFlipper Animation 运用
来源: 互联网 发布时间: 2014-02-18
ViewFlipper Animation 使用
ViewFlipper
[功能]
1. ViewFlipper 可以包含多个View 且View之间的切换有Animation 比如:渐变效果
[代码]
1. 创建包含ViewFlipper 的main.xml 还包含2个Button 用于各个View切换
2. 设定 Animation 效果
3. 在 ViewFlipper 里面增加各种View
4. View 切换
* 下一个View
* 上一个View
现释出所有代码!
over.
有两种方式:
1.xml中定义:
xml属性:android:flipInterval
如:<ViewFlipper android:id="@+id/flipper" android:flipInterval="5"/>,表示间隔5秒切换一次
2.java代码:
方法:ViewFlipper.setFlipInterval(int milliseconds);参数是秒数,效果跟xml一样
ViewFlipper
[功能]
1. ViewFlipper 可以包含多个View 且View之间的切换有Animation 比如:渐变效果
[代码]
1. 创建包含ViewFlipper 的main.xml 还包含2个Button 用于各个View切换
<?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"
>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<Button
android:id="@+id/previousButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Previous"
/>
<Button
android:id="@+id/nextButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Next"
/>
</LinearLayout>
<ViewFlipper
android:id="@+id/flipper"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
>
</ViewFlipper>
</LinearLayout>
2. 设定 Animation 效果
flipper = (ViewFlipper) findViewById(R.id.flipper);
flipper.setInAnimation(AnimationUtils.loadAnimation(this,
android.R.anim.fade_in));
flipper.setOutAnimation(AnimationUtils.loadAnimation(this,
android.R.anim.fade_out));3. 在 ViewFlipper 里面增加各种View
flipper.addView(addTextByText("HelloAndroid"));
flipper.addView(addImageById(R.drawable.beijing_003_mb5ucom));
flipper.addView(addTextByText("eoe.Android"));
flipper.addView(addImageById(R.drawable.beijing_004_mb5ucom));
flipper.addView(addTextByText("Gryphone"));
ublic View addTextByText(String text){
TextView tv = new TextView(this);
tv.setText(text);
tv.setGravity(1);
return tv;
}
public View addImageById(int id){
ImageView iv = new ImageView(this);
iv.setImageResource(id);
return iv;
}4. View 切换
* 下一个View
flipper.showNext();
* 上一个View
flipper.showPrevious();
现释出所有代码!
over.
1 楼
jj_zerogra
2010-04-08
不知道这个view之间的时间间隔怎么设置?谢了
2 楼
wjb_forward
2010-04-08
jj_zerogra 写道
不知道这个view之间的时间间隔怎么设置?谢了
有两种方式:
1.xml中定义:
xml属性:android:flipInterval
如:<ViewFlipper android:id="@+id/flipper" android:flipInterval="5"/>,表示间隔5秒切换一次
2.java代码:
方法:ViewFlipper.setFlipInterval(int milliseconds);参数是秒数,效果跟xml一样
3 楼
jj_zerogra
2010-04-08
谢了,不过参数好像是毫秒数,呵呵,milliseconds
4 楼
oh老好人
2010-08-24
能做成这种效果不
分左右两边 左边的始终固定不动 右边的翻页
我 觉得好像实现不了
分左右两边 左边的始终固定不动 右边的翻页
我 觉得好像实现不了
5 楼
wangguorui89
2010-12-30
效果的结果事件如何判断。
[3] AsyncTask 跟Timer同时使用
来源: 互联网 发布时间: 2014-02-18
AsyncTask 和Timer同时使用
package com.example.test;
import java.net.URL;
import java.util.Timer;
import java.util.TimerTask;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.InputSource;
import org.xml.sax.XMLReader;
import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
public class MyXmlPoller extends Activity {
private Handler handler = new Handler();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
new Timer().schedule(new MyTimerTask(), 0, 1000);
}
private class MyAsyncTask extends AsyncTask<Integer, Integer, MyData> {
protected MyData doInBackground(Integer... counter) {
MyData myData = new MyData();
try {
URL url = new URL("http://www.example.com/my.xml");
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
MySAXHandler mySAXHandler = new Handler();
xr.setContentHandler(mySAXHandler);
xr.parse(new InputSource(url.openStream()));
myData = mySAXHandler.getParsedData();
return myData;
} catch (Exception e) {
Log.e("!!!!!!!!!! MyAsyncTask doInBackground error", e.getMessage(), e);
return myData;
}
}
protected void onPostExecute(MyData myData) {
Log.d("+++++++++++++ MyAsyncTask onPostExecute", myData.toString());
}
} // MyAsyncTask
private Handler mHandler = new Handler();
public class MyTimerTask extends TimerTask {
public void run() {
mHandler.post(
new Runnable() {
public void run() {
new MyAsyncTask().execute("");
}
};
)
}
} }
在这里呢一定要注意TimerTask要运行在Handler中。
当然上面的代码也可以如下变化
URL url = new URL("http://www.example.com/my.xml");
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
MyHandler myHandler = new MyHandler();
xr.setContentHandler(myHandler);
将上面的放在onPreExecute() method 中。
http://developer.android.com/intl/fr/reference/android/os/Looper.html
最新技术文章: