当前位置: 编程技术>移动开发
本页文章导读:
▪2013年三月21日-动态添加_删除的Spinner菜单 2013年3月21日----动态添加_删除的Spinner菜单动态添加/删除的Spinner菜单
在Android的Spinner里的元素,如果想动态的增减下拉菜单的选项,就必须利用ArrayList的依赖性来完成。
.........
▪ 获取google api 步骤 获取google api 方法android
1. 首先先要获取你的debug keystore位置:
打开Eclipse--->Windows--->Preferences--->Android--->Build
查看默认的debug keystore位置,我的是C:\Documents and Settings\MYNAM.........
▪ Xcode WorkSpace的应用与编译 Xcode WorkSpace的使用与编译
环境: xcode 4.5 mac 10.8
1.静态库
1.1 见雨松的 IOS 入门开发之使用Xcode4制作静态库详解(五)。
1.2 静态库使用。
我们在1.1最后生成了.a文件,但是这并不完美。.........
[1]2013年三月21日-动态添加_删除的Spinner菜单
来源: 互联网 发布时间: 2014-02-18
2013年3月21日----动态添加_删除的Spinner菜单
动态添加/删除的Spinner菜单
在Android的Spinner里的元素,如果想动态的增减下拉菜单的选项,就必须利用ArrayList的依赖性来完成。
下面的应用程序设计一个EditText供用户输入文字,单击添加按钮会将文字添加进Spinner;单击“删除”按钮则删除所选择的Spinner选项,常应用于未知Spinner选项数量的To-Do List或添加维护市县数据等。下面是示例的源码:
package com.example.test01; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.os.Bundle; import android.view.Menu; importandroid.view.MotionEvent; import android.view.View; import android.view.View.OnClickListener; importandroid.view.View.OnFocusChangeListener; importandroid.view.View.OnTouchListener; importandroid.view.animation.Animation; importandroid.view.animation.AnimationUtils; importandroid.widget.AdapterView.OnItemSelectedListener; importandroid.widget.AdapterView; importandroid.widget.ArrayAdapter; importandroid.widget.Button; importandroid.widget.EditText; importandroid.widget.Spinner; importandroid.widget.TextView; public class MainActivityextends Activity { TextView textView01; EditText editText01; Button buttonAdd , buttonDelete; Spinner spinner01; private static final String[] countriesStr = {"北京市" , "上海市" , "天津市" , "重庆市"}; private ArrayAdapter<String> adapter; private ArrayList<String> allCountries; Animation animation; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); allCountries = new ArrayList<String>(); for (int i = 0; i < countriesStr.length; i++) { allCountries.add(countriesStr[i]); } //new ArrayAdapter对象并将allCountries传入 adapter = newArrayAdapter<String>(getApplicationContext(),android.R.layout.simple_spinner_item , allCountries); adapter.setDropDownViewResource(R.layout.myspinner_dropdown); //以findViewById取得对象 textView01 = (TextView)findViewById(R.id.textView01); editText01 = (EditText)findViewById(R.id.editText); buttonAdd = (Button)findViewById(R.id.buttonAdd); buttonDelete = (Button)findViewById(R.id.buttonDelete); spinner01 = (Spinner)findViewById(R.id.spinner); //将ArrayAdapter添加Spinner对象中 spinner01.setAdapter(adapter); //将buttonAdd添加OnClickListener buttonAdd.setOnClickListener(new OnClickListener() { public voidonClick(View v) { String newCountry =editText01.getText().toString(); //先比较添加的值是否已存在,不存在才可以添加 for (int i = 0; i <adapter.getCount(); i++) { if(newCountry.equals(adapter.getItem(i))) { return; } } if (!newCountry.equals("")) { //将值添加到adapter adapter.add(newCountry); //取得添加的值的位置 int position =adapter.getPosition(newCountry); //将Spinner选择在添加的值的位置 spinner01.setSelection(position); //将EditText清空 editText01.setText(""); } } }); buttonDelete.setOnClickListener(new OnClickListener() { public void onClick(View v) { if (spinner01.getSelectedItem() != null){ //删除spinner的值 adapter.remove(spinner01.getSelectedItem().toString()); //将EditText清空 editText01.setText(""); if (adapter.getCount() == 0) { //将TextView清空 textView01.setText(""); } } } }); //将spinner添加OnItemSelectedListener spinner01.setOnItemSelectedListener(newSpinnerSelectListener()); } class SpinnerSelectListener implements OnItemSelectedListener { public void onItemSelected(AdapterView<?> arg0,View arg1, int arg2, long arg3) { //将所选spinner的值带入TextView中 textView01.setText(arg0.getSelectedItem().toString()); } public void onNothingSelected(AdapterView<?>arg0) {} } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action barif it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
[2] 获取google api 步骤
来源: 互联网 发布时间: 2014-02-18
获取google api 方法
android
1. 首先先要获取你的debug keystore位置:
打开Eclipse--->Windows--->Preferences--->Android--->Build
查看默认的debug keystore位置,我的是C:\Documents and Settings\MYNAME \.android\debug.keystore
2. 在cmd中执行:
keytool -list -keystore ~/.android/debug.keystore
或者是:
keytool -list -alias androiddebugkey -keystore "路径\debug.keystore " -storepass android -keypass android
双引号中的为你keystore位置, 注意,你的双引号一定要有,否则就会报错:keytool error: java.lang.RuntimeException: Usage error, and is not a legal command
执行结果:
androiddebugkey, May 4, 2009, PrivateKeyEntry,
Certificate fingerprint (MD5): XX:XX:XX:XX:XX:XX:XX:XX.............
这里的XX:XX:XX:XX:XX:XX:XX:XX.............就是你的认证指纹
3 中间步骤,要去google网站注册自己的用户,到自己的邮箱里先去激活,
4 激活后,打开http://code.google.com/intl/zh-CN/android/maps-api-signup.html
填入你的认证指纹(MD5)即可获得apiKey了,结果显示如下:
感谢您注册 Android 地图 API 密钥!
您的密钥是:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5 使用得到的apiKey:
在layout中加入MapView
<com.google.android.maps.MapView
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:apiKey="XXXXXXXXXXXXXXXXXXXXXXXXXXXX" />
[3] Xcode WorkSpace的应用与编译
来源: 互联网 发布时间: 2014-02-18
Xcode WorkSpace的使用与编译
1.2.2
环境: xcode 4.5 mac 10.8
1.静态库
1.1 见雨松的 IOS 入门开发之使用Xcode4制作静态库详解(五)。
1.2 静态库使用。
我们在1.1最后生成了.a文件,但是这并不完美。
1.2.1
我们选中静态库
1.2.2
在build时,静态库有多种configuration,我们一般调试都使用simulator,如果你使用simulator编译的.a文件在工程中是红色,你也选择Device编译,重新在工程中导入(Xcode bug!!!).
1.3 静态库配置
如果我们想要在workspace中动态编译静态库和工程,我们需要对两者进行配置。
静态库中,
我们在静态库->targets->build setting->install directory,键入:$(BUILT_PRODUCTS_DIR),我们这里指定静态库生成的.公共文件路径。
我们在静态库->targets->build setting->other linker flags 键入:-Objc,这里我们可以让工程导入所有的静态库公共文件(包括类别category),详见解决ios静态库中的类别(category)在工程中不能使用
1.4 设置公共文件夹
我们在静态库->targets->build phases->copy files,点击“+”,添加公共的.h头文件(如果你想这个文件在工程中被使用),注:各个xcode版本不同,添加公共文件的方法不同.
2.我们的工程
2.1 工程中导人.a文件见1.1
2.2 我们在工程中->targets->build setting-> user header search paths,键入,$(BUILT_PRODUCTS_DIR),我们的工程可以在此目录,即静态生成的公共文件目录查找文件。
同样,我们在工程中->targets->build setting->other linker flags 键入:-Objc,这里和1.3类似。
3 命令行编译workspace,测试打包
3.1 在1.2.2时,我们要选择静态库,导航栏,product->edit scheme,如下图所示:
选择info->build configuration->release,这里我们选择发布编译。这样我们在命令行编译时,可以在指定路径找到release的.a文件。
3.2 在终端中找到.xcworkspace的路径,执行下列命令 xcodebuild -workspace xxx.xcworkspace -scheme yyy -configuration Release
3.3 在$(BUILT_PRODUCTS_DIR)目录下release-iphoneos文件下找到.app。
注:可在,xcode-preferences->locations中指定$(BUILT_PRODUCTS_DIR)的位置。
详见:xcode4的环境变量,Build Settings参数,workspace及联编设置
图3-1
图3-2
图3-3
参考文章:
http://erlangprogram.com/use-xcode4-workspace
https://coderwall.com/p/rv2lgw
http://blog.carbonfive.com/2011/04/04/using-open-source-static-libraries-in-xcode-4/
http://www.cnblogs.com/xiaodao/archive/2012/03/28/2422091.html
最新技术文章: