当前位置:  编程技术>移动开发
本页文章导读:
    ▪CocoaPods运用总结        CocoaPods使用总结 参考文章:http://ishalou.com/blog/2012/10/15/how-to-use-cocoapods/  gem install cocoapods 2、使用:         ......
    ▪ 运用ant自动编译、打包生成apk文件        使用ant自动编译、打包生成apk文件     上次使用命令行生成apk文件《Android 命令行编译、打包生成apk文件》,学习命令行生成的目的是为了编写ant打下基础。 一、 ant环境 下载ant包,配置.........
    ▪ TextView中替字体或背景添加独立的颜色       TextView中为字体或背景添加独立的颜色有时候在开发中,我们需要在TextView中为字体或背景添加独立的颜色, 这到底是如何实现的呢,看下面的代码: activity_main.xml代码: <LinearLayout xmlns:.........

[1]CocoaPods运用总结
    来源: 互联网  发布时间: 2014-02-18
CocoaPods使用总结
cocoaPods使用:
git官网: https://github.com/CocoaPods/CocoaPods/wiki/Creating-a-project-that-uses-CocoaPods 
参考文章:http://ishalou.com/blog/2012/10/15/how-to-use-cocoapods/ 
 
1、安装 Mac默认安装了ruby的运行环境,Cocoapods是ruby gems中的一个工具,可以在Mac中直接使用命令安装:
gem install cocoapods
pod setup
 
2、使用:
在iOS项目的根目录中中新建一个文件,起名为Podfile:
touch Podfile
 
3、输入第三方libs名称:
platform:ios
 
pod 'JSONKit'
pod 'Reachability'
 
4、执行命令pod install
此时,会自动配置第三方libs
 
把自己的项目加入到cocospods中:
http://theonlylars.com/blog/2013/01/20/cocoapods-creating-a-pod-spec/

    
[2] 运用ant自动编译、打包生成apk文件
    来源: 互联网  发布时间: 2014-02-18
使用ant自动编译、打包生成apk文件



    上次使用命令行生成apk文件《Android 命令行编译、打包生成apk文件》,学习命令行生成的目的是为了编写ant打下基础。


一、 ant环境

下载ant包,配置环境变量


二、ant编译Android项目

1. 生成R文件
2. Java代码生成class文件
3. class文件生成dex文件
4. 打包资源
5. 生成apk
6. 签名apk



1. aapt命令, 生成R文件
[plain] view plaincopyprint?
  • > aapt package -f -m -J ./gen -S res -M AndroidManifest.xml -I D:\android.jar  

  • -f 如果编译生成的文件已经存在,强制覆盖。
    -m 使生成的包的目录存放在-J参数指定的目录
    -J 指定生成的R.java 的输出目录路径
    -S 指定res文件夹的路径
    -I 指定某个版本平台的android.jar文件的路径
    -A 指定assert文件夹的路径

    转换为ant为:
              <exec executable="aapt">
                  <arg value="package" />
                  <arg value="-m" />
                  <arg value="-J" />
                  <arg value="gen" />
                  <arg value="-S" />
                  <arg value="res" />
                  <arg value="-M" />
                  <arg value="AndroidManifest.xml" />
                  <arg value="-I" />
                  <arg value="${android-jar}" />
                  <arg value="--auto-add-overlay" /> <!-- 覆盖资源 -->
              </exec>




    2. javac命令,生成class文件
    [plain] view plaincopyprint?
  • > javac -target 1.5 -bootclasspath D:\android-sdk-windows\platforms\android-8\android.jar -d bin src\demo\project\*.java gen\demo\project\R.java  

  •   -target <版本>               生成特定 VM 版本的类文件
      -bootclasspath <路径>        覆盖引导类文件的位置
      -d <目录>                    指定存放生成的类文件的位置
      -sourcepath <路径>           指定查找输入源文件的位置


    转换为ant为:

              <javac  target="1.5" destdir="bin/classes" bootclasspath="${android-jar}">
                  <src path="src" />
                  <src path="gen" />
              </javac>


    3. dx 命令,把class文件转换为.dex文件

    [plain] view plaincopyprint?
  • > dx --dex --output=D:\ProjectDemo\bin\classes.dex D:\ProjectDemo\bin  
  • --output=<要生成的classes.dex路径> <要处理的class文件的路径>


    转换为ant为:

              <exec executable="dx.bat" failonerror="true"> 
                   <arg value="--dex" /> 
                   <arg value="--output=${project-dir}\bin\classes.dex" /> 
                <arg path="${project-dir}\bin\classes" />
              </exec> 


    4. aapt命令,打包资源
    [plain] view plaincopyprint?
  • > aapt package -f -M AndroidManifest.xml -S res -I D:\android-sdk-windows\platforms\android-8\android.jar -F bin\resources.ap_  

  • -f 如果编译生成的文件已经存在,强制覆盖
    -M 指定AndroidManifest.xml的路径
    -S 指定res文件夹路径
    -I 指定某个版本平台的android.jar的路径
    -F 指定输出文件完整路径

    转换为ant为:

              <exec executable="aapt">
                   <arg value="package" />
                   <arg value="-f" />
                   <arg value="-M" />
                   <arg value="AndroidManifest.xml" />
                   <arg value="-S" />
                   <arg value="res" />
                   <arg value="-A" />
                   <arg value="assets" />
                   <arg value="-I" />
                   <arg value="${android-jar}" />
                   <arg value="-F" />
                   <arg value="bin\resources.ap_" />
                   <arg value="--auto-add-overlay" />
              </exec>


    5. apkbuilder命令,生成apk
    [plain] view plaincopyprint?
  • apkbuilder D:\ProjectDemo\bin\projectdemo.apk -v -u -z D:\ProjectDemo\bin\resources.ap_ -f D:\ProjectDemo\bin\classes.dex -rf D:\ProjectDemo\src  

  • -v Verbose 显示过程信息
    -u 创建一个无签名的包
    -z 指定apk资源路径
    -f 指定dex文件路径
    -rf 指定源码路径

    转换为ant为:

              <exec executable="apkbuilder.bat">
                   <arg value="${project-dir}\bin\unsigned.apk" />
                   <arg value="-u" />
                   <arg value="-z" />
                   <arg value="${project-dir}\bin\resources.ap_" />
                   <arg value="-f" />
                   <arg value="${project-dir}\bin\classes.dex" />
              </exec>

    6. 签名

    [plain] view plaincopyprint?
  • jarsigner  -verbose -keystore C:\Users\UserName\Desktop\build\release.keystore -storepass antPassword -keypass antPassword -signedjar D:\ProjectDemo\bin\projectdemo-signed.apk D:\ProjectDemo\bin\projectdemo.apk release  

  • -verbose  签名/验证时输出详细信息
    -keystore 密钥库位置
    -storepass          用于密钥库完整性的口令
    -keypass            专用密钥的口令(如果不同)
    -signedjar          已签名的 JAR 文件的名称 (第一个apk是签名之后的文件, 第二个apk是需要签名的文件)


    转换为ant为:

              <exec executable="jarsigner">
                   <arg value="-keystore" />
                   <arg value="${project-dir}\release.keystore" />
                   <arg value="-storepass" />
                   <arg value="antPassword" />
                   <arg value="-keypass" />
                   <arg value="antPassword" />
                   <arg value="-signedjar" />
                   <arg value="${project-dir}\bin\signed.apk" />
                   <arg value="${project-dir}\bin\unsigned.apk" />
                   <arg value="release" />
              </exec>


    三、完整build.xml文件

    <?xml version="1.0" encoding="utf-8"?>
    <project default="main">
    
         <property name="android-jar" value="D:\android-sdk-windows\platforms\android-8\android.jar" />
         <property name="project-dir" value="D:\ProjectDemo" />
    
         <target name="init">
            <echo>start initing ... </echo>
    
            <mkdir dir="gen" />
            <delete>
                <fileset dir="gen"></fileset>
            </delete>
            
            <mkdir dir="bin/classes" />
            <delete>
                <fileset dir="bin/classes"></fileset>
            </delete>
    
            <echo>finish initing. </echo>
        </target>
        
        <target name="main" depends="init">
            <echo>generating R.java for project to dir gen (using aapt) ... </echo>
              <exec executable="aapt">
                  <arg value="package" />
                  <arg value="-m" />
                  <arg value="-J" />
                  <arg value="gen" />
                  <arg value="-S" />
                  <arg value="res" />
                  <arg value="-M" />
                  <arg value="AndroidManifest.xml" />
                  <arg value="-I" />
                  <arg value="${android-jar}" />
                  <arg value="--auto-add-overlay" /> <!-- 覆盖资源 -->
              </exec>
    
              <javac  target="1.5" destdir="bin/classes" bootclasspath="${android-jar}">
                  <src path="src" />
                  <src path="gen" />
              </javac>
             
           
             
              <echo>packaging class files (include the third-party jars) to calsses.dex ... </echo>
              <exec executable="dx.bat" failonerror="true"> 
                   <arg value="--dex" /> 
                   <arg value="--output=${project-dir}\bin\classes.dex" /> 
                <arg path="${project-dir}\bin\classes" />
              </exec> 
             
             
              <echo>packaging resource (include res, assets, AndroidManifest.xml, etc.) to res.zip ... </echo>
              <exec executable="aapt">
                   <arg value="package" />
                   <arg value="-f" />
                   <arg value="-M" />
                   <arg value="AndroidManifest.xml" />
                   <arg value="-S" />
                   <arg value="res" />
                   <arg value="-A" />
                   <arg value="assets" />
                   <arg value="-I" />
                   <arg value="${android-jar}" />
                   <arg value="-F" />
                   <arg value="bin\resources.ap_" />
                   <arg value="--auto-add-overlay" />
              </exec>
             
              <echo>building unsigned.apk ... </echo>
              <exec executable="apkbuilder.bat">
                   <arg value="${project-dir}\bin\unsigned.apk" />
                   <arg value="-u" />
                   <arg value="-z" />
                   <arg value="${project-dir}\bin\resources.ap_" />
                   <arg value="-f" />
                   <arg value="${project-dir}\bin\classes.dex" />
              </exec>
             
              <echo>signing the unsigned apk to final product apk ... </echo>
              <exec executable="jarsigner">
                   <arg value="-keystore" />
                   <arg value="${project-dir}\release.keystore" />
                   <arg value="-storepass" />
                   <arg value="antPassword" />
                   <arg value="-keypass" />
                   <arg value="antPassword" />
                   <arg value="-signedjar" />
                   <arg value="${project-dir}\bin\signed.apk" />
                   <arg value="${project-dir}\bin\unsigned.apk" />
                   <arg value="release" />
              </exec>
             
        </target>
       
    
       
        <target name="clean">
        </target>
    </project>




    原文地址:http://blog.csdn.net/androiddevelop/article/details/11100109






        
    [3] TextView中替字体或背景添加独立的颜色
        来源: 互联网  发布时间: 2014-02-18
    TextView中为字体或背景添加独立的颜色

    有时候在开发中,我们需要在TextView中为字体或背景添加独立的颜色,

    这到底是如何实现的呢,看下面的代码:


    activity_main.xml代码:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
         >
       
         <Button
            android:id="@+id/btn4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="myClick"
            android:text="格式化文本内容的文本" />
        
    </LinearLayout>
    
    

    MainActivity.java代码:

    package com.example.exercise3;
    import android.os.Bundle;
    import android.app.Activity;
    import android.content.Intent;
    import android.view.Menu;
    import android.view.View;
    
    public class MainActivity extends Activity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main); 
        }    
        public void myClick(View view){
        	Intent intent=new Intent();
        	switch(view.getId()){
        	case R.id.btn1:
        		intent.setClass(this, HtmlFormatText.class);
        		break;
        	case R.id.btn2:
        		intent.setClass(this, AutoMatch.class);
        		break;
        	case R.id.btn3:
        		intent.setClass(this, MyDefineActionTextView.class);
        		break;
        	case R.id.btn4:
        		intent.setClass(this, FormatTextView.class);
        		break;
        	case R.id.btn5:
        		intent.setClass(this,InputImageEditViewActivity.class);
        		break;
        	}
        	this.startActivity(intent);
        }
    }
    

    点击btn4,启动FormatTextView.java


    FormatTextView.java代码:

    package com.example.exercise3;
    
    import android.app.Activity;
    import android.graphics.Color;
    import android.os.Bundle;
    import android.text.SpannableString;
    import android.text.SpannedString;
    import android.text.TextPaint;
    import android.text.style.CharacterStyle;
    import android.widget.TextView;
    
    public class FormatTextView extends Activity {
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		// TODO Auto-generated method stub
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.format_text);
    		
    		String msg="这是蓝色字体,这是黄色背景绿色字体";
    		//将msg进行拆分
    		SpannableString ss=new SpannableString(msg);
    		
    		ss.setSpan(new CharacterStyle() {		
    			@Override
    			public void updateDrawState(TextPaint tp) {
    				// TODO Auto-generated method stub
    				tp.setColor(Color.BLUE);
    			}
    		}, 0, 6,SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE);
    		
    		ss.setSpan(new CharacterStyle() {
    			@Override
    			public void updateDrawState(TextPaint tp) {
    				// TODO Auto-generated method stub
    				tp.setColor(Color.YELLOW);
    				//设置背景颜色用set方法而是bgColor属性
    				tp.bgColor=Color.GREEN;
    			}
    		}, 7, msg.length(), SpannedString.SPAN_EXCLUSIVE_EXCLUSIVE);
    		
    		TextView tv=(TextView)findViewById(R.id.format_text);
    		tv.setText(ss);
    		
    	}
    }
    
    

    format_text.xml代码:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >
        <TextView 
            android:id="@+id/format_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            />
    </LinearLayout>

    如果有什么疑问和建议,欢迎给我留言。。。



        
    最新技术文章:
    ▪Android开发之登录验证实例教程
    mysql iis7站长之家
    ▪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