我遇到以下错误:在整个应用程序中使用单个数据库对象从两个不同的线程访问数据库
数据库
'/data/data/msv_database.db' 的连接池无法授予与线程802的连接(连接:0活动,1空闲,0可用.
应使用哪个传感器来确定设备是否已使用Android Sensor向上或向下倾斜?
通过使用以下代码:
SensorManager.getRotationMatrix(mRotationMatrix, null, mValuesAccel,mValuesMagnet);
SensorManager.remapCoordinateSystem(mRotationMatrix,
SensorManager.AXIS_Y, SensorManager.AXIS_MINUS_X, R2);
SensorManager.getOrientation(R2, mValuesOrientation);
Run Code Online (Sandbox Code Playgroud)
我得到三个方向值(方位角,俯仰,滚动)如何使用三个方向值来确定设备是向上还是向下倾斜.
我正在使用ViewPager将三个页面显示为片段FirstFragment,SecondFragment,ThirdFragment:
在ViewPager的第一页是FirstFragment,在按钮上单击我正在移动到FragmentA,然后在FragmentA中点击按钮我正在移动到FragmentB,它们在FragmentB中点击按钮,我正在移动到片段C.现在当我按回键时,我想按顺序进行:FragmentC,然后是FragmentB,然后是FragmentA,然后是FirstFragment(ViewPager第一页)
但是当我在FragmentC上按回键时,我正在退出应用程序:
然后我使用了以下解决方案
@Override
public void onBackPressed() {
// if there is a fragment and the back stack of this fragment is not empty,
// then emulate 'onBackPressed' behaviour, because in default, it is not working
FragmentManager fm = getSupportFragmentManager();
for (Fragment frag : fm.getFragments()) {
if (frag.isVisible()) {
FragmentManager childFm = frag.getChildFragmentManager();
if (childFm.getBackStackEntryCount() > 0) {
childFm.popBackStack();
return;
}
}
}
super.onBackPressed();
}
Run Code Online (Sandbox Code Playgroud)
只有当我有FirstFragment(ViewPager第一页)然后是FragmentA时,上述解决方案才有效
但是在嵌套片段的情况下这不起作用:FirstFragment(ViewPager First Page)然后是FragmentA,然后是FragmentB,然后是FragmentC
我遇到了一个问题:我想长时间获得GMT TimeZone的当前时间.我使用下面给出的代码:
TimeZone timeZoneGmt = TimeZone.getTimeZone("GMT");
long gmtCurrentTime = getCurrentTimeInSpecificTimeZone(timeZoneGmt);
public static long getCurrentTimeInSpecificTimeZone(TimeZone timeZone) {
Calendar cal = Calendar.getInstance();
cal.setTimeZone(timeZone);
long finalValue = 0;
SimpleDateFormat sdf = new SimpleDateFormat(
"MMM dd yyyy hh:mm:ss:SSSaaa");
sdf.setTimeZone(timeZone);
Date finalDate = null;
String date = sdf.format(cal.getTime());
try {
finalDate = sdf.parse(date);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finalValue = finalDate.getTime();
return finalValue;
}
Run Code Online (Sandbox Code Playgroud)
正如在上面的方法中给出的那样格式化
String date = sdf.format(cal.getTime());
我在GMT中获得正确的当前时间但是我通过以下代码进行解析:
finalDate=sdf.parse(date);
日期从当前GMT时间更改为2013年IST 2013年15:35:16,这是我系统的当前时间.
我尝试使用Calendar以另一种方式:
TimeZone timeZoneGmt=TimeZone.get("GMT");
Calendar calGmt …Run Code Online (Sandbox Code Playgroud)