我正在开发Android应用程序,必须显示存储在SD卡中的所有图像.我成功地做到了,除了我在切换到横向模式时出现奇怪的行为(实际上,我在网格中看不到任何内容).
在logcat中,我收到以下消息:RecyclerView:没有连接适配器; 跳过布局
是的,我正在使用RecyclerView,这只发生在横向,当我再次旋转回肖像时,片段被保留,我可以再次看到网格中的每个位图.
现在,有谁知道为什么会发生这种情况?以下是我将我的适配器设置为recyclerView(在片段内)的方法:
@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) {
if (cursor.moveToFirst()) {
adapter = new ImageAdapter(getActivity(), cursor, imageManager);
imagesGrid.setAdapter(adapter);
}
}
Run Code Online (Sandbox Code Playgroud)
哦,顺便说一下,我正在使用RecyclerView的默认GridLayoutManager.
这是交易.在我的Android应用程序中,我正在使用Jsoup进行一些网络抓取.现在它工作正常,但它太慢了.我在我的代码中做的是:
现在问题是它速度很快.我的意思是,在按下登录按钮后,在应用程序的登录界面中,用户必须在3G中等待10秒,在WiFi中等待8-10秒(取决于WiFi速度).当他试图检查数据更新时,它会执行相同的算法+比较SQLiteDatabase表数据.
那么,有没有其他方法来做这个HTML解析 - 在android中刮掉东西以使其更快?PS我遗憾地无法访问数据库.
编辑:
既然你问过我正在抓取的内容,这里是你可以在不登录的情况下访问的几个页面的一个例子(与其他人相比,这不是一个很大的表):https://medeine.vgtu.lt/programos/ programa.jsp?sid = F&fak = 5&prog = 87&rus = U&klb = en.
现在,对于代码......我真的不能给你完整的代码,但这里是我如何得到表格的每个单元格的例子:
document = Jsoup.connect(getContext().getString(R.string.url))
.cookie("JSESSIONID", cookie)
.get();
Element table = document.select("table.duomenys").first();
if (table != null) {
databaseHandler.openDatabase();
databaseHandler.getDatabase().beginTransaction();
try {
for (Element row : table.select("tr.n, tr.l") {
Elements columns = row.select("td");
addItem(columns, DatabaseHandler.getTableName());
}
databaseHandler.getDatabase().setTransactionSuccessful();
} finally {
databaseHandler.getDatabase().endTransaction();
}
databaseHandler.closeDatabase();
}
Run Code Online (Sandbox Code Playgroud)
这是addItem()方法示例:
private void addItem(Elements columns, String tableName) {
databaseHandler.addItem(new Item(
columns.get(0).text(),
columns.get(1).text(), …Run Code Online (Sandbox Code Playgroud) 好的,大家好,所以我最近开发的android应用程序将用户的ID和PASSWORD保存到SharedPreferences.现在,当用户第二次启动应用程序时,他将通过listView中的一些选项直接重定向到MainActivity.而现在我头疼得厉害,这让我变得非常疯狂.我无法登录网站并将数据提取到手机.我尝试过使用Http(s)UrlConnection,HttpClient,但它似乎对我不起作用.我从POST方法得到的只是登录页面的源代码.
现在,有登录页面:https://medeine.vgtu.lt/studentams/login.jsp?klb = en
和我的目标页面:https://medeine.vgtu.lt/studentams/pask_stud.jsp < - 我需要从那里获取数据
你有任何想法或提示/方法/指南/任何如何做到这一点?