我必须创建一个应用程序,显示单元格中使用的SIM卡的联系号码.为此,我需要使用TelephonyManager课程.我可以获得它的用法细节吗?
我即将创建我现有应用程序的不同版本.我需要高分辨率图标,精选图片和之前应用程序的屏幕截图.如何从Google Play开发者控制台下载它们?
我正在创建我的第一个Firebase应用程序.它的一个要求是它在网络不可用时运行.Firebase指南指出:
启用磁盘持久性使我们的应用程序即使在应用程序重新启动后也能保持其所有状态.我们只需一行代码即可启用磁盘持久性. FirebaseDatabase.getInstance()setPersistenceEnabled(真). 启用磁盘持久性后,我们的同步数据和写入将在应用程序重新启动后持久保存到磁盘,我们的应用程序应在脱机情况下无缝工作.
另一个要求是使用Google登录.所以在我MainActivity检查用户是否已登录时,如果没有,我启动了SignInActivity.( SignInActivity来自Firebase示例.)SignInActivity工作,用户登录,并MainActivity再次启动.现在我的应用程序在代码行崩溃,FirebaseDatabase.getInstance().setPersistenceEnabled(true); 并显示以下消息:
必须在FirebaseDatabase实例的任何其他使用之前调用setPersistenceEnabled().
现在,如果我重新启动我的应用程序,用户已登录,SignInActivity未启动,我的应用运行正常.
用户登录后如何避免此崩溃的任何建议?
当我发布这个问题时,我收到了一个重新安置FirebaseDatabase.getInstance().setPersistenceEnabled(true);
到我的"应用程序类"的建议.我得到完全相同的结果...... SignInActivity开始,完成,然后我就崩溃了setPersistenceEnabled.
以下是我的MainActivity onCreate:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Calls to setPersistenceEnabled() must be made before any other usage of FirebaseDatabase instance.
// Crash here upon returning from SignInActivity.
FirebaseDatabase.getInstance().setPersistenceEnabled(true);
mFirebaseDbReference = FirebaseDatabase.getInstance().getReference();
// Initialize Firebase Auth
mFirebaseAuth = FirebaseAuth.getInstance();
mFirebaseUser = mFirebaseAuth.getCurrentUser();
if (mFirebaseUser == null) {
// …Run Code Online (Sandbox Code Playgroud) 我想实现制作一个带有不同项目的抽屉,所以我正在为 DrawerItems 创建一个单独的文件,并使用构造函数将数据传递给主文件。但是我在“onPressed”函数上收到以下错误:
“不能将参数类型‘Function’分配给参数类型‘void Function()’”
class DrawerItem extends StatelessWidget {
final String text;
final Function onPressed;
const DrawerItem({Key key, this.text, this.onPressed}) : super(key: key);
@override
Widget build(BuildContext context) {
return FlatButton(
child: Text(
text,
style: TextStyle(
fontWeight: FontWeight.w600,
fontSize: 18.0,
),
),
onPressed: onPressed,
);
}
}
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么?
我使用android.support.v7.widget.RecyclerView来显示包含文本的简单项目,在某些情况下还显示图像.基本上我从这里按照教程https://developer.android.com/training/material/lists-cards.html,只是将mDataset的类型从String []更改为JSONArray和ViewHolder的xml.我的RecyclerView位于一个简单的片段中:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin">
<!-- A RecyclerView with some commonly used attributes -->
<android.support.v7.widget.RecyclerView
android:id="@+id/my_hopps_recycler_view"
android:scrollbars="vertical"
android:layout_centerInParent="true"
android:layout_width="200dp"
android:layout_height="wrap_content"/>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
在这个片段中,我将从Web服务器加载所有信息.收到信息后,我初始化RecyclerView中的项目.我使用了一个LinearLayoutManager,它在我的Fragment的onCreate方法中设置.添加适配器后,我在RecyclerView上调用setHasFixedSize(true)方法.我的Adapter类看起来像这样:
import android.graphics.BitmapFactory;
import android.support.v7.widget.RecyclerView;
import android.util.Base64;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import org.apache.commons.lang3.StringEscapeUtils;
import org.json.JSONArray;
import org.json.JSONObject;
import saruul.julian.MyFragment;
import saruul.julian.R;
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
/**
* Fragment holding the RecyclerView.
*/
private MyFragment …Run Code Online (Sandbox Code Playgroud) arrays android imageview android-cardview android-recyclerview
我有很多屏幕,我正在使用Navigator.我想使用"命名路由",但我还需要将非字符串(如图像)传递给下一个路由.
我无法使用,pushNamed()因为我无法将非字符串数据传递给它.
如何使用命名路由+发送非字符串数据?
我想知道这两者有什么区别。我在 javascript, Delegated yield (yield star, yield *) in generator functions上找到了这篇 SO post
据我了解,yield*委托给另一个生成器,在另一个生成器停止生成值后,它会恢复生成自己的值。
飞镖方面的解释和示例会有所帮助。
我是第一次开发Flutter应用程序..我在添加图像时遇到了问题.我有以下问题:
我尝试了什么:
assets:
- images/lake.jpg
Run Code Online (Sandbox Code Playgroud)
在pubspec.ymal里面:
完整档案:
name: my_flutter_app
description: A new Flutter application.
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^0.1.2
dev_dependencies:
flutter_test:
sdk: flutter
flutter:
uses-material-design: true,
assets:
- images/lake.jpg
Run Code Online (Sandbox Code Playgroud)
错误日志:
#/properties/flutter/properties/uses-material-design: type: wanted [boolean] got true,
Error detected in pubspec.yaml:
Error building assets
FAILURE: Build failed with an exception.
* Where:
Script '/home/abc/Downloads/flutter/packages/flutter_tools/gradle/flutter.gradle' line: 435
* What went wrong:
Execution failed for task ':app:flutterBuildDebug'.
> Process 'command '/home/abc/Downloads/flutter/bin/flutter'' finished with non-zero exit value 1
* Try: …Run Code Online (Sandbox Code Playgroud) 我有一个TextEditingController地方,如果用户点击它填写信息的按钮.我似乎无法弄清楚如何更改Textfield或内部的文本TextFormField.有解决方案吗?
因此,对于Android O,如果您希望每小时收到的不仅仅是一些位置更新,则需要将您的服务作为前台服务运行.
我注意到用于启动前台服务的旧方法似乎确实在O上工作.即
startForeground(NOTIFICATION_ID, getNotification());
Run Code Online (Sandbox Code Playgroud)
根据此处的行为更改指南:https: //developer.android.com/preview/behavior-changes.html
NotificationManager.startServiceInForeground()方法启动前台服务.启动前台服务的旧方法不再有效.
虽然新方法仅在定位O时有效,但似乎旧方法似乎仍适用于O设备,无论是否针对O.
编辑 包括示例:
Google示例项目LocationUpdatesForegroundService实际上有一个工作示例,您可以在其中直接查看问题. https://github.com/googlesamples/android-play-location/tree/master/LocationUpdatesForegroundService
无论是针对API级别25进行定位和编译,还是针对O进行编译(如此处所示:https : //developer.android.com/preview/migration.html#uya),startForeground方法似乎都没有问题.
所以,重现:
服务正在前台运行(通知阴影中的图标显示).即使在运行O的设备上,位置更新也会按预期(每10秒)完成.我在这里缺少什么?
dart ×5
flutter ×5
android ×4
arrays ×1
firebase ×1
google-play ×1
imageview ×1
location ×1
phone-number ×1