小编Cop*_*oad的帖子

如何在真实设备中获取当前SIM卡的手机号码?

我必须创建一个应用程序,显示单元格中使用的SIM卡的联系号码.为此,我需要使用TelephonyManager课程.我可以获得它的用法细节吗?

android phone-number

35
推荐指数
2
解决办法
11万
查看次数

我如何从谷歌播放开发者控制台下载图像

我即将创建我现有应用程序的不同版本.我需要高分辨率图标,精选图片和之前应用程序的屏幕截图.如何从Google Play开发者控制台下载它们?

android google-play

35
推荐指数
3
解决办法
1万
查看次数

setPersistenceEnabled(true)崩溃应用程序

我正在创建我的第一个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)

firebase firebase-authentication firebase-realtime-database

35
推荐指数
5
解决办法
2万
查看次数

无法将参数类型“Function”分配给参数类型“void Function()?” 空安全后

我想实现制作一个带有不同项目的抽屉,所以我正在为 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)

有谁知道为什么?

dart flutter dart-null-safety

35
推荐指数
6
解决办法
2万
查看次数

RecyclerView中图像的奇怪行为

我使用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

34
推荐指数
2
解决办法
4万
查看次数

如何将非字符串数据传递给Flutter中的命名路由?

我有很多屏幕,我正在使用Navigator.我想使用"命名路由",但我还需要将非字符串(如图像)传递给下一个路由.

我无法使用,pushNamed()因为我无法将非字符串数据传递给它.

如何使用命名路由+发送非字符串数据?

dart flutter

34
推荐指数
5
解决办法
1万
查看次数

Dart中yield和yield*之间的差异

我想知道这两者有什么区别。我在 javascript, Delegated yield (yield star, yield *) in generator functions上找到了这篇 SO post

据我了解,yield*委托给另一个生成器,在另一个生成器停止生成值后,它会恢复生成自己的值。

飞镖方面的解释和示例会有所帮助。

dart flutter

34
推荐指数
3
解决办法
9908
查看次数

在flutter app中添加图片

我是第一次开发Flutter应用程序..我在添加图像时遇到了问题.我有以下问题:

  1. 在哪里创建图像文件夹?
  2. 在pubspec.ymal中添加资产标签的位置?
  3. 这需要资产文件夹吗?

我尝试了什么:

 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)

dart flutter flutter-layout

33
推荐指数
10
解决办法
5万
查看次数

你如何改变文本域内的价值?

我有一个TextEditingController地方,如果用户点击它填写信息的按钮.我似乎无法弄清楚如何更改Textfield或内部的文本TextFormField.有解决方案吗?

dart flutter

33
推荐指数
8
解决办法
3万
查看次数

Android O - 旧的启动前台服务仍在运行?

因此,对于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方法似乎都没有问题.

所以,重现:

  1. 按照上一个链接中的说明配置app gradle
  2. 打开应用程序
  3. 请求位置更新
  4. 关闭应用程序(通过后退按钮或主页按钮)

服务正在前台运行(通知阴影中的图标显示).即使在运行O的设备上,位置更新也会按预期(每10秒)完成.我在这里缺少什么?

android location android-8.0-oreo

32
推荐指数
3
解决办法
4万
查看次数