我想将不同的List集合传递给GSON中的TypeToken类.这是我的课
public class ConvertToObject<T> {
public T MappFrom(InputStream is)
String json = ConvertJsonInputStream.toString(is);
Gson gson = new Gson();
Type typeOfDest = new TypeToken<T>() {
}.getRawType();
T lstObject = gson.fromJson(json, typeOfDest);
return lstObject ;
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想以不同的方式实例化我的类如下:
AssetManager am = getApplicationContext().getAssets();
InputStream is = am.open("form.txt");
ConvertToObject<List<Form>> co = new ConvertToObject<List<Form>>();
List<Form> JsonForm = co.MappFrom(is);
InputStream is2 = am.open("Messages.txt");
ConvertToObject<List<Messages>> co = new ConvertToObject<List<Messages>>();
List<Messages> JsonForm = co.MappFrom(is2);
Run Code Online (Sandbox Code Playgroud)
我的资产文件夹中有27个Json txt文件,我想将这些JSON txt文件解析为适当的类.我该怎么办?
编辑: 这样我就抓住了一个例外:
Caused by: java.lang.ClassCastException: com.google.gson.internal.StringMap cannot be cast to com.mypackage.Form
Run Code Online (Sandbox Code Playgroud) 是否可以处理在同一页面中加载的两个版本的jQuery之间的冲突?假设这些代码行:
<script type="text/javascript" src="jquery-1.1.3.js"></script>
<script type="text/javascript" src="jquery-1.4.2.js"></script>
<script type="text/javascript" src="thisFileUsesFirstJquery.js"></script>
<script type="text/javascript" src="thisFileUsesSecondJquery.js"></script>
Run Code Online (Sandbox Code Playgroud)
我不使用内联java脚本代码.在我的情况下,我的java脚本代码发生在外部文件上.我的问题是:我应该如何使用noConflict()方法来防止它们之间的冲突.
我想在我的活动中的操作栏中使用微调器是onCreateOptionsMenu:我使用本教程来实现这种方法.我的问题是当活动是午餐时,onNavigationItemSelected方法触发,并且交换机/案例上的代码运行,我为位置0设置的活动打开.当活动是午餐时,我该怎么做以防止运行开关/案例?
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getSupportMenuInflater().inflate(R.menu.main, menu);
SpinnerAdapter mSpinnerAdapter;
if(Build.VERSION.SDK_INT <= 10)
{
mSpinnerAdapter = ArrayAdapter.createFromResource(this, R.array.spinner_data,android.R.layout.simple_spinner_item);
}
else
{
mSpinnerAdapter = ArrayAdapter.createFromResource(this, R.array.spinner_data,android.R.layout.simple_spinner_dropdown_item);
}
ActionBar.OnNavigationListener mOnNavigationListener = new ActionBar.OnNavigationListener()
{
@Override
public boolean onNavigationItemSelected(int position, long itemId)
{
switch (position)
{
case 0:
Intent searchIntent = new Intent(ActivitySearchBusiness.this, ActivityFindBusinessCity.class);
startActivity(searchIntent);
break;
case 2:
Intent dealsIntent = new Intent(ActivitySearchBusiness.this, ActivityDeals.class);
startActivity(dealsIntent);
break;
case 3:
Intent eventsIntent = new Intent(ActivitySearchBusiness.this, ActivityEvents.class);
startActivity(eventsIntent);
break;
}
return true;
} …Run Code Online (Sandbox Code Playgroud) 当我使用列表视图并且我有一个自定义的基本适配器类时,当基本适配器由getApplicationContext和实例化时,我在列表视图中获得不同的文本颜色classname.this.通过getApplicationContext我得到的白色文字的颜色,但classname.this为黑色.有谁可以帮我解释一下?
我在我的应用程序中使用谷歌地图v2,但我得到这样的空白页:

为了将这个功能添加到我的项目中,我做了这些操作.
首先,我更新了谷歌播放服务

D:\AndroidSDK\extras\google\google_play_services\libproject\google-play-services_lib作为我的主项目的依赖项添加了此路径的libs文件夹中的jar文件.

在Google API控制台中激活谷歌地图android API v2

创建了新的Android密钥,结果是:
在这些步骤之后,我将API密钥添加到清单文件中:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.test"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="8"
android:targetSdkVersion="17"/>
<permission
android:name="com.example.test.permission.MAPS_RECEIVE"
android:protectionLevel="signature"/>
<uses-permission android:name="com.example.test.permission.MAPS_RECEIVE/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<!-- External storage for caching. -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- My Location -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!-- Maps API needs OpenGL ES 2.0. -->
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<!-- End of copy. --> …Run Code Online (Sandbox Code Playgroud)