我正在开发一个关于android version2.2的程序.我已经阅读了很多关于支持多种屏幕尺寸的文档但仍然感到困惑 我设计了一个支持大屏幕和普通屏幕的布局文件,当我尝试使用小屏幕时,它不会调整布局以适应屏幕.我也在清单中使用了这段代码.
<supports-screens
android:resizeable="true"
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:anyDensity="true"
/>
Run Code Online (Sandbox Code Playgroud)
小屏幕的图像就在这里. 如何设置与小屏幕兼容的屏幕?在某处我通过使用文件夹"layout-small"找到了,但是如果我使用它,项目大小正在增加,我不希望这样,那么任何人都可以建议我这样做的最佳方法吗?
我正在做一个以"yyyy-MM-dd'T'HH:mm:ss.SSSZ"这种格式存储当前时间和日期的程序.我将它作为字符串存储在数据库中.当我收集数据时,我需要个人价值,如日,年,分,秒等.我怎么能这样做?
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
String now = formatter.format(new Date());
Run Code Online (Sandbox Code Playgroud)
谢谢,
我试图解析服务器的响应,我是这个主题的新手,不幸的是它是JSONP格式.我不知道如何解析JSONP格式,当我尝试使用JSON Parser时,它返回null值.谁能帮助我这样做...
提前致谢.
我在Stream中读取youtube响应并将其转换为String.使用以下代码:
网址:http://gdata.youtube.com/feeds/api/users/cnn/uploads?&v = 2&max-results = 25 &alt = json
private String convertStreamToString(InputStream is) {
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String line = null;
try {
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return sb.toString();
}
Run Code Online (Sandbox Code Playgroud)
此代码在除Android 4.0设备之外的所有设备中都能正常运行.我得到以下logcat:
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:278)
at …Run Code Online (Sandbox Code Playgroud) 我正在做一个通过应用程序使用Internet连接的应用程序.如果在使用应用程序时丢失了Internet连接,则应用程序将强行关闭.为避免这种情况,如果互联网不可用,我想显示一条警报消息.我怎样才能做到这一点.在登录时,我正在使用以下代码检查连接.但是我如何在后台为整个应用程序执行此操作.
private boolean haveInternet(){
NetworkInfo info = ((ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo();
if (info==null || !info.isConnected()) {
return false;
}
if (info.isRoaming()) {
// here is the roaming option you can change it if you want to disable internet while roaming, just return false
return true;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
谢谢..
我正在执行一项任务,从服务器检索图像并在应用程序的GridView中显示.此网格视图向上和向下滚动.但我想在菜单屏幕滚动时从左到右滚动此视图.是否可以使用网格视图?或者有更好的方法吗?请帮我这样做.
提前致谢.
我想在ImagePagerActivity中使用ImageViewZoom和Universal Image Loader.
我可以缩放图像,滑动到下一个图像.但是当图像处于变焦位置时,我正面临问题.

如果图像被缩放并且我处于中心位置,如果我想要看到同一图像的右侧部分并向左滑动它将转到下一个图像.请帮我这样做.
这是我的XML代码:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="1dip" >
<it.sephiroth.android.library.imagezoom.ImageViewTouch
android:layout_weight="1"
android:id="@+id/image"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scaleType="fitCenter" />
<ProgressBar
android:id="@+id/loading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:visibility="gone" />
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)
编辑:
谢谢NOSTRA,现在我可以用下面的代码控制缩放和滑动.但多点触控变焦的问题.我无法用两根手指进行缩放.
这是我以前的代码(用两根手指正常工作):
public class ScaleListener extends ScaleGestureDetector.SimpleOnScaleGestureListener {
@Override
public boolean onScale( ScaleGestureDetector detector ) {
Log.d( LOG_TAG, "onScale" );
float span = detector.getCurrentSpan() - detector.getPreviousSpan();
float targetScale = mCurrentScaleFactor * detector.getScaleFactor();
if ( mScaleEnabled ) {
targetScale = Math.min( getMaxZoom(), Math.max( targetScale, getMinZoom()-0.1f ) );
zoomTo( targetScale, detector.getFocusX(), detector.getFocusY() );
mCurrentScaleFactor …Run Code Online (Sandbox Code Playgroud) 我想在我的应用程序中播放vimeo视频.我可以从频道获取视频并在浏览器或vimeo应用程序中播放,但我希望视频能够在我的应用程序中播放.是否有任何API,如打开youtube.请帮我这样做.
现在我用这个在vimeo应用程序或浏览器中播放视频.
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://player.vimeo.com/video/"+vid_id)));
Run Code Online (Sandbox Code Playgroud) 我从其他片段开始一个片段时得到NullPointerException.我试图在动态启动片段后调用第二个片段中的方法.
这是我的logcat:
05-20 09:58:31.907: E/AndroidRuntime(2585): FATAL EXCEPTION: main
05-20 09:58:31.907: E/AndroidRuntime(2585): java.lang.NullPointerException
05-20 09:58:31.907: E/AndroidRuntime(2585): at com.exercise.FragmentTest.MyFragment3.setImage(MyFragment3.java:22)
05-20 09:58:31.907: E/AndroidRuntime(2585): at com.exercise.FragmentTest.FragmentTestActivity$1.onClick(FragmentTestActivity.java:48)
05-20 09:58:31.907: E/AndroidRuntime(2585): at android.view.View.performClick(View.java:4204)
05-20 09:58:31.907: E/AndroidRuntime(2585): at android.view.View$PerformClick.run(View.java:17355)
05-20 09:58:31.907: E/AndroidRuntime(2585): at android.os.Handler.handleCallback(Handler.java:725)
05-20 09:58:31.907: E/AndroidRuntime(2585): at android.os.Handler.dispatchMessage(Handler.java:92)
05-20 09:58:31.907: E/AndroidRuntime(2585): at android.os.Looper.loop(Looper.java:137)
05-20 09:58:31.907: E/AndroidRuntime(2585): at android.app.ActivityThread.main(ActivityThread.java:5041)
05-20 09:58:31.907: E/AndroidRuntime(2585): at java.lang.reflect.Method.invokeNative(Native Method)
05-20 09:58:31.907: E/AndroidRuntime(2585): at java.lang.reflect.Method.invoke(Method.java:511)
05-20 09:58:31.907: E/AndroidRuntime(2585): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
05-20 09:58:31.907: E/AndroidRuntime(2585): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
05-20 09:58:31.907: E/AndroidRuntime(2585): at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)
和我的主要活动代码: …
我想创建格式如下的json数据:
{
"Credential":{
"ref1":"Test",
"ref2":"test",
"ref3":"test"
},
"ref4":"data"
}
Run Code Online (Sandbox Code Playgroud)
我尝试了很多,但我找不到办法做到这一点.谁能帮帮我吗. 编辑:
我可以输入如下数据:
{
"ref1":"Test",
"ref2":"test",
"ref3":"test"
}
Run Code Online (Sandbox Code Playgroud)
提前致谢.
我已将SDK更新到Android 4.4,当我创建一个新项目时,它显示错误.请帮我解决这个问题.
[2013-11-01 18:31:03 - Framework Resource Parser] Collect preferences failed, class junit/framework/TestCase not found in /home/android2/Desktop/adt-bundle-linux-x86/sdk/platforms/android-19/android.jar
Run Code Online (Sandbox Code Playgroud) 我正在使用日期选择器对话框来选择用户的出生日期,因此我可以显示该对话框.但不应允许用户增加年份,日期或月份而不是现在的日期.我怎样才能做到这一点?
这是我的代码:
private int mYear;
private int mMonth;
private int mDay;
static final int DATE_DIALOG_ID = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button pickDate = (Button) findViewById(R.id.but);
pickDate.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
showDialog(DATE_DIALOG_ID);
}
});
final Calendar c = Calendar.getInstance();
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH);
}
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case DATE_DIALOG_ID:
return new DatePickerDialog(this,
mDateSetListener,
mYear, mMonth, mDay);
}
return null;
}
protected void …Run Code Online (Sandbox Code Playgroud)