当前位置: 编程技术>移动开发
本页文章导读:
▪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
最新技术文章: