当前位置:  编程技术>移动开发
本页文章导读:
    ▪微博项目小结与反思        微博项目总结与反思:     1  无论做什么事情,想要做到完美都需要全心全意的投入,付出很多的精力。任何事情做一个大概很容易,但是如果想要想要把产品做好,就需要深入的理解,.........
    ▪ 复制Assets资料内容到指定文件夹        复制Assets文件内容到指定文件夹 下面这段代码估计一般的人看了有点蒙,先简单的解释下,是用来复制Assets文件夹下的一个文件目录到指定的比如"SD"卡上一个指定文件目录下的操作: package co.........
    ▪ 在Button随便位置加图片效果       在Button任意位置加图片效果 通常情况会想到drawableLeft,drawableTop,drawableRight,drawableBotton,这样是可以做,但只能在四个位置。下面这种办法可以实现任意位置: import android.app.Activity; import a.........

[1]微博项目小结与反思
    来源: 互联网  发布时间: 2014-02-18
微博项目总结与反思:




    1  无论做什么事情,想要做到完美都需要全心全意的投入,付出很多的精力。任何事情做一个大概很容易,但是如果想要想要把产品做好,就需要深入的理解,把细节做到完美。“把事情做到完美”是一种态度,所以如果真的决心做好一件事情的时候首先要问自己几个问题:做这件事情有何价值?我能为此付出多少的努力?如果觉得自己做不好就不要去做,否则就要尽全力去做,如此才能做出一些好的东西。
    2  平时的积累决定软件的质量。一个软件最重要的是程序的结构。一个项目首先要做的是做好架构,使用什么模式,有哪些基本的类和工具类,类之间需要定义哪些公共的接口,静态方法,静态变量等。想好之后,就可以做了。把项目分成小块,做好计划,一块一块的做,不急不躁,此时关注的就是细节的完美了,对代码的结构、sdk的熟悉、每个控件的熟悉直接决定了软件的功能是否好用,界面是否美观,而这就是平时的积累。平时多注意细节的积累,当使用的时候才会有随心所欲的感觉。
    3  心态问题,不急不躁。如下想法:
        熬过了这段时间,我就活的会轻松了。请记住,生命的每一段时间都跳不过去,时刻提醒自己:此刻,现在就是我的生活,最真实的部分。我喜欢的追求的就是这种很有挑战性的有激情的生活,同时也是很累的生活。既然现在就在做我喜欢的事情,为何会觉得苦呢?总结,体验生活的各种美妙,享受此刻的美好。
        最新的东西不一定是最好的东西,最好的东西不一定是最适合自己的东西。而我么是选择什么呢?最新的,最好的,还是最合适自己的?抉择的时候,要足够冷静,要问自己内心的想法,不要过多的受外界观点的干扰。
    4  lumanmanqixiuyuanxi,吾将上下而求索。追求喜欢的生活……
       


    
[2] 复制Assets资料内容到指定文件夹
    来源: 互联网  发布时间: 2014-02-18
复制Assets文件内容到指定文件夹
下面这段代码估计一般的人看了有点蒙,先简单的解释下,是用来复制Assets文件夹下的一个文件目录到指定的比如"SD"卡上一个指定文件目录下的操作:
package com.handler;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import android.content.res.AssetManager;

public class DuplicateHandler {


private static DuplicateHandler mDuplicateHandler;
private AssetManager mAssetManager = null;

public static DuplicateHandler getInstance(Client mClient) {
      if (mDuplicateHandler == null) {
          mDuplicateHandler = new DuplicateHandler(mClient);
      }
      return mDuplicateHandler;
}

	public DuplicateHandler(Client mClient) {
		this.mClient = mClient;
	}

	private String[] getImages(String mDirectory) {
		String[] tempImages = null;
		try {
			mAssetManager = mClient.getAssets();
			if (null != mAssetManager) {
				tempImages = mAssetManager.list(mDirectory);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
		return tempImages;
	}

	public void initPath(String mDirName) {
		try {
                           //初始化即将保存到的文件夹目录
			String mLastPath = Common.mCachePath + "/" + mDirName;
			File mLastFolder = new File(mLastPath);
			if (!mLastFolder.exists()) {
				mLastFolder.mkdirs();
			}
			mLastFolder = null;
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/** 复制Assets文件夹下的图片文件夹到指定目录. */
	public boolean duplicateImages(String mPath) {
		initPath(mPath);
		String[] mAllImages = getImages(mPath);
		InputStream mFileIn = null;
		FileOutputStream mFileOut;
		File mFile;
		for (int i = 0; i < mAllImages.length; i++) {
			if (!mAllImages[i].endsWith(".png")
					&& !mAllImages[i].endsWith(".jpg")
					&& !mAllImages[i].endsWith(".gif")
					&& !mAllImages[i].endsWith(".html")
					) {
				duplicateImages(mPath + "/" + mAllImages[i]);
			} else {
				try {
					mFile = new File(Common.mCachePath + "/" + mPath + "/"
							+ mAllImages[i]);
					if (!mFile.exists()) {
						mFile.createNewFile();
					}
					mFileIn = mAssetManager.open(mPath + "/" + mAllImages[i]);
					mFileOut = new FileOutputStream(mFile);
					int readedBytes;
					byte[] buf = new byte[128];
					while ((readedBytes = mFileIn.read(buf)) > 0) {
						mFileOut.write(buf, 0, readedBytes);
					}
					mFileOut.flush();
					mFileOut.close();
				} catch (IOException e) {
					e.printStackTrace();
					return false;
				}
			}
		}
		return true;

		// BitmapDrawable bitmapDrawable = (BitmapDrawable) image.getDrawable();
		// if (bitmapDrawable != null &&
		// !bitmapDrawable.getBitmap().isRecycled()) {
		// bitmapDrawable.getBitmap().recycle();
		// }
		// image.setImageBitmap(BitmapFactory.decodeStream(assetFile));
	}
}



    
[3] 在Button随便位置加图片效果
    来源: 互联网  发布时间: 2014-02-18
在Button任意位置加图片效果
通常情况会想到drawableLeft,drawableTop,drawableRight,drawableBotton,这样是可以做,但只能在四个位置。
下面这种办法可以实现任意位置:
import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.text.Html;
import android.text.Spanned;
import android.text.Html.ImageGetter;
import android.widget.Button;

public class demobutton extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
                ImageGetter imgGetter = new Html.ImageGetter() {
                        @Override
                        public Drawable getDrawable(String source) {
                                Drawable drawable = null;
                                drawable = demobutton.this.getResources().getDrawable(
                                                Integer.parseInt(source));
                                drawable.setBounds(0, 0, drawable.getIntrinsicWidth(),
                                                drawable.getIntrinsicHeight());
                                return drawable;
                        }
                };
                
                Button btn = (Button) findViewById(R.id.button1);
                StringBuffer sb = new StringBuffer();
                sb.append("<img src=/index.html"").append(R.drawable.button1).append("\"/>").append("<font color=\"6f6f6f\">按钮上加图片效果</font>");;
                Spanned span = Html.fromHtml(sb.toString(), imgGetter, null);
                btn.setText(span);
                sb = null;
    }
}




采用Spanned也不是什么新鲜事了,呵呵。这里只提供一种思路。不止Button,任意可以显示文字的View都可以这样做。
1 楼 ldci3gandroid 2011-10-22  
谢谢短裤党的精彩博文 !!!
2 楼 kooqianfeng 2011-10-28  
好啊,楼主牛逼!可是怎么让文字居中的,没明白!!!我在xml一顿狂设,还不是不行!悲催!
3 楼 kooqianfeng 2011-10-28  
不过在xml中有个属性是android:drawableLeft用这个属性导入图片,效果更好.简单,google已经封装好的.

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