Articles of java

从android执行shell命令

我试图从应用程序模拟器terminal执行这个命令(你可以在谷歌播放中find它)在这个应用程序中我写su然后按回车键,所以写: screenrecord –time-limit 10 /sdcard/MyVideo.mp4 再按一下进入 ,使用android kitkat的新function开始录制画面。 所以,我尝试执行相同的代码从Java使用这个: Process su = Runtime.getRuntime().exec("su"); Process execute = Runtime.getRuntime().exec("screenrecord –time-limit 10 /sdcard/MyVideo.mp4"); 但不要工作,因为该文件没有创build。 显然,我运行在安装了android kitkat的rooted设备上。 哪里有问题? 我怎么解决? 因为从terminal模拟器的工作和在Java中不?

如何使用Square的Retrofitnetworking库实现asynchronouscallback

作为一名开始使用Android的iOS开发人员,我遇到了Retrofit。 我明白如何实现同步请求,但遇到成功/失败callbackasynchronous请求时遇到困难。 具体来说,Callback语法对我来说还不清楚,在Retrofit 网站 ,介绍Retrofit的Square 博客文章或其他地方没有具体的例子。 有人可以发布一些示例代码呢? 我在Retrofit repo中提出了一个问题,要求他们用这个信息更新自述文件。

Android getIntent()。getExtras()返回null

我试图在两个活动之间传递一个string。 我已经在其他项目中使用相同的方法,但由于某种原因,当我调用intent.getStringExtra(String)时,我得到一个NullPointerException。 我也尝试创build一个捆绑的额外通过 Bundle b = getIntent().getExtras(); 但是也返回null。 下面是我目前正在尝试使用的代码。 活动A: Intent myIntent = null; String select = ""; if (selection.equals("Chandelle")) { myIntent = new Intent(Commercial.this, Chandelle.class); select = "Chandelle"; } else if (selection.equals("Eights on Pylons")) { myIntent = new Intent(Commercial.this, EightsOnPylons.class); select = "Eights on Pylons"; } // Start the activity if (myIntent != null) […]

使用Cursor获取字段值

我正在创build一个应用程序,我有问题与Cursor 。 当我尝试使用此函数获取值时,我有一个SQLiteDatabase返回了一个Cursor : public Cursor fetchOption(long rowId) throws SQLException { Cursor mCursor = mDb.query(true, DATABASE_TABLE, new String[] {KEY_ROWID, KEY_TITLE, KEY_BODY}, KEY_ROWID + "=" + rowId, null, null, null, null, null); if (mCursor != null) { mCursor.moveToFirst(); } return mCursor; } 我不知道如何获得Cursor字段的值。 如果我这样做: String a = mOptionDb.fetchOption(0).getColumnName(0).toString(); String b = mOptionDb.fetchOption(0).getColumnName(1).toString(); String c = mOptionDb.fetchOption(0).getColumnName(2).toString(); […]

使用GridView / listViewdeviselib – CoordinatorLayout / CollapsingToolbarLayout

这可能是一个愚蠢的问题,但我不明白Design lib。 我正在按照这个参考来创build下面的布局。 当我滚动GridView时,蓝色区域应该作为视差。 但是,当我滚动网格查看AppBarLayout中没有任何反应。 但是,这与NestedScrollView和RecyclerView 以下是我的布局文件 – <?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/main_content" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true"> <android.support.design.widget.AppBarLayout android:id="@+id/appbar" android:layout_width="match_parent" android:background="#500403" android:layout_height="@dimen/detail_backdrop_height" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" android:fitsSystemWindows="true"> <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/collapsing_toolbar" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#122453" app:layout_scrollFlags="scroll|exitUntilCollapsed" android:fitsSystemWindows="true" app:contentScrim="?attr/colorPrimary" app:expandedTitleMarginStart="48dp" app:expandedTitleMarginEnd="64dp"> <ImageView android:id="@+id/backdrop" android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="centerCrop" android:fitsSystemWindows="true" app:layout_collapseMode="parallax" /> <ImageView android:id="@+id/backdrop1" android:layout_width="50dp" android:layout_height="50dp" android:scaleType="fitCenter" android:fitsSystemWindows="true" android:layout_gravity="center" android:src="@drawable/bar_offline" app:layout_collapseMode="parallax" /> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" […]

Android编码最佳实践/devise模式

在最近的一个问题中,我问我是否被导向到这个网站: http : //developer.android.com/design/index.html 令人惊叹的网站,但它并没有回答一个特定的问题:在应用代码devise中应用什么最佳实践/devise模式? 我做了MVC / MVP等的查找,虽然这产生了结果,但只是关于所述模式的实际实现,而不是其他可用的选项等。 我试着反编译和分析Android默认安装的各种应用程序,比如市场,但我无法真正在Google的代码中find结构。 有没有人有提示,如何设置Android应用程序的方式,他们是可维护,可扩展等我知道这些单词的广泛含义,他们纯粹是主观的程序员,但我不能用任何不同的方式expression 我已经遇到的一个最好的做法是每个活动一个视图,并在应用程序中有很多活动,以使后台工作正常,但除此之外,我不知道如何实际设置活动本身。

Android 7天前(一周)获取date

如何在Android中以这种格式从现在开始在一周之前获取date: SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 例如:现在2010-09-19 HH:mm:ss ,一周之前2010-09-12 HH:mm:ss 谢谢

如何获得Android的SQLite数据库中的所有表名?

我已经尝试这个代码 Cursor c=db.rawQuery("SELECT name FROM sqlite_master WHERE type = 'table'",null); c.moveToFirst(); while(!c.isAfterLast()){ Toast.makeText(activityName.this, "Table Name=> "+c.getString(0), Toast.LENGTH_LONG).show(); } 但它会抛出错误"android.database.sqlite.SQLiteException: no such table: sqlite_master(code 1):,while compiling: SELECT name FROM sqlite_master WHERE type='table'" 如何获取所有表名? 帮我 提前致谢..

ANDROID:如何在Android应用程序中获得root权限?

我正在开发我的第一个Android应用程序,我很好奇是否有任何“标准”的方法来执行特权shell命令。 我只能通过执行sufind一种方法,然后将我的命令附加到su进程的stdin中。 DataOutputStream pOut = new DataOutputStream(p.getOutputStream()); DataInputStream pIn = new DataInputStream(p.getInputStream()); String rv = ""; // su must exit before its output can be read pOut.writeBytes(cmd + "\nexit\n"); pOut.flush(); p.waitFor(); while (pIn.available() > 0) rv += pIn.readLine() + "\n"; 我已经阅读了有关JNI包装特权( superuser )调用:这可能吗? 如果是这样,一个人怎么办呢? 除此之外,还有没有其他的方法来从Java调用特权指令?

尝试检查文件是否存在于内部存储器中

下面的代码是我如何确定文件是否存在于内部存储MODE_PRIVATE 。 public boolean isset(String filename){ FileInputStream fos = null; try { fos = openFileInput(filename); //fos = openFileInput(getFilesDir()+"/"+filename); if (fos != null) { return true; }else{ return false; } } catch (FileNotFoundException e) { return false; } //File file=new File(mContext.getFilesDir(),filename); //boolean exists = fos.exists(); } 但是,它会进入例外状态,不会继续执行代码。 它不做回报。 为什么?