小编The*_*ras的帖子

无法使用 mkdir 在 Android Q 中创建文件夹

我的应用程序在所有 android 版本中创建文件夹都没有问题,除了android Q,我不知道为什么我的代码在 android q 中不起作用

这是我的代码:

File dir = new File("/sdcard/test");
       try{
              if(dir.mkdir()) {
                      Log.d("DOWNLOAD","Directory created");
              } else {
                     Log.d("DOWNLOAD","Directory is not created");
              }
            }catch(Exception e){
                  e.printStackTrace();
        }
Run Code Online (Sandbox Code Playgroud)

java android mkdir android-10.0

8
推荐指数
2
解决办法
4340
查看次数

strings.xml资源有多大?

我看到这篇帖子说,当strings.xml应用程序太大时应用程序可能崩溃.我的strings.xml文件现在是700行,它会在很长一段时间内变大.

帖子中的答案说使用SQLite数据库可以防止这种情况.

但在我的情况下,我有一个SQLite数据库,可以获取条目的数据,strings.xml因为我的应用程序使用不同语言的区域设置.

我的问题是,有多大strings.xml?如果我达到线路限制,我该怎么做才能防止崩溃?

android android-resources

6
推荐指数
1
解决办法
226
查看次数

java中的通配符和类型pameter边界

考虑这种情况:

class A {}

class B<T extends A, E extends T> {
    B<?, A> b;
    B<?, ? extends A> b2;
}
Run Code Online (Sandbox Code Playgroud)

据我所知,类型界限,在这种情况下,两者的有效上限T和E是class A.所以问题是:为什么javac在字段声明中不接受A类作为参数b,但wildcard ? extends A在字段声明中接受b2?

java bounded-wildcard unbounded-wildcard

6
推荐指数
1
解决办法
116
查看次数

HMS 核心地图套件,地图加载但无渲染

我正在测试华为的地图套件。

该应用程序已在 App Gallery Connect 中创建,我完成了所有步骤。其他 HMS 服务工作正常。我所有的依赖都是正确的。

因此,我使用视图来表示地图。

将onMapReady被调用,查看负载,我可以与地图进行互动,增加销,找到我的位置等,但我不能看地图,只有空白的砖。

我没有收到错误,onMapReady被调用就好了。

我也试过华为 Github 上的演示,结果是一样的。我也尝试过片段,结果相同。

我的 mapView

  <com.huawei.hms.maps.MapView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:map="http://schemas.android.com/apk/res-auto"
    android:id="@+id/mapView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    map:cameraTargetLat="48.893478"
    map:cameraTargetLng="2.334595"
    map:cameraZoom="8.5"/>
Run Code Online (Sandbox Code Playgroud)

我的 onCreate

 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_huawei_map_test);
    Log.d(TAG, "yo: ");
    if (!hasPermissions(this, RUNTIME_PERMISSIONS)) {
        ActivityCompat.requestPermissions(this, RUNTIME_PERMISSIONS, 100);
    }
    mMapView = findViewById(R.id.mapView);
    Bundle mapViewBundle = null;
    if (savedInstanceState != null) {
        mapViewBundle = savedInstanceState.getBundle(MAPVIEW_BUNDLE_KEY);
    }
    MapsInitializer.setApiKey("");//my key
    mMapView.getMapAsync(this);
    mMapView.onCreate(mapViewBundle);
Run Code Online (Sandbox Code Playgroud)

我的 onMapReady

 @Override
public void onMapReady(HuaweiMap map) {
    //get map instance …
Run Code Online (Sandbox Code Playgroud)

java android huawei-mobile-services huawei-developers

6
推荐指数
1
解决办法
835
查看次数

Java 8读取文件列表,但文件保持打开状态,使用资源直到服务器冻结

这是我在调度程序上的tomcat服务器上运行的代码副本.当我检查服务器的状态时,我可以看到打开文件的数量增加

这是用于检查打开文件的命令

sudo lsof -p $(pidof java) | grep "DIR" | wc -l

这是包含在单元测试中的代码示例.

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;

import org.junit.Test;

public class OpenFilesTest {

    @Test
    public void FileRemainOpen() throws IOException {
        String path = "/data/cache/hotels/from_ivector";

        List <String> files = new ArrayList<String>();

        Files.list(Paths.get(path))
            .filter(Files::isRegularFile)
            .forEach(file -> {
                String name = file.getFileName().toString().toLowerCase();
                if (name.endsWith(".csv") || name.endsWith(".txt")) {
                    name = file.getFileName().toFile().getName();
                    files.add(name);
                }
            });
    }
}
Run Code Online (Sandbox Code Playgroud)

最终资源耗尽,服务器冻结.

java spring tomcat scheduled-tasks java-8

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

调用 onAddStream() 时远程视频无法加载

我正在实现一个webRTCandroid 应用程序,与我通信的服务器是信令服务器(通过 websockets)和 kurento 媒体服务器。

时间顺序为:

  • 客户端订阅服务器
  • 每个客户发送的sdpOffer
  • iceCandidate每个客户端都发送了将要创建的所有内容
  • 信令服务器发送iceCandidate给每个客户端
  • sdpAnswers 信令服务器将来自 kurento 媒体服务器的信令发送给客户端

我的移动客户端订阅服务器并发送他们的sdpOffers。ice trickle信令服务器从kurento媒体服务器发回后sdpAnswers。

因此,我收到了startCommunication消息,并且远程描述已通过sdpAnswerskurento 媒体服务器成功设置。我已经检查了我所有的sdp和ice包,它们都符合预期,并且所有webRTC相关的回调都成功。

设置remoteDescription后peerConnection,

被onAddStream()调用并且我得到了videoTrack。但是视频没有渲染..

我的 onAddStream:

 override fun onAddStream(p0: MediaStream?) {

            super.onAddStream(p0)
            p0?.videoTracks?.get(0)?.addSink(remote_view)

            Log.d(TAG, "on add stream" + p0?.videoTracks?.size )
            Log.d(TAG,App.rtcClient.peerConnection?.iceConnectionState().toString())
            Log.d(TAG,App.rtcClient.peerConnection?.iceGatheringState().toString())
        }
Run Code Online (Sandbox Code Playgroud)

远程视图的初始化:

   fun initSurfaceView(view: SurfaceViewRenderer) = view.run {
      setMirror(true)
      setEnableHardwareScaler(true)
      init(rootEglBase.eglBaseContext, null)
   }

  ....

  App.rtcClient.initSurfaceView(remote_view)
Run Code Online (Sandbox Code Playgroud)

远程视图的xml: …

android webrtc kurento

5
推荐指数
0
解决办法
680
查看次数

iOS Google Ads 降低应用程序的性能

我们遵循 Google 在 TableView 中展示广告的示例:

https://github.com/googleads/googleads-mobile-ios-examples/blob/master/Swift/advanced/BannerTableViewExample/BannerTableViewExample/TableViewController.swift

在 iOS 项目上集成 google 广告。当我们使用演示广告单元 id(/6499/example/banner) 时,一切正常。

然而,当我们切换到制作广告时,我们的设备开始过热,并且应用程序明显滞后。

广告显示在集合视图中。我们以与 Google 示例相同的方式缓存广告

class AdvertisementManager{
     static let TAG_A = 1
     static let TAG_B = 2
     static let TAG_C = 3
     static let TAG_D = 4
     static let TAG_E = 5
     static let TAG_F = 6
     // .............
}

struct GoogleAdvertisementMetadata {
    weak var delegate: GADBannerViewDelegate?
    weak var adSizeDelegate: GADAdSizeDelegate?
    weak var rootViewController: UIViewController?
    let validAdSizes: AdSizesOption
    let targetingMetadata: AdTargetingMetadata
}

private func preLoadAdvertisements() {
    let targetingVals …
Run Code Online (Sandbox Code Playgroud)

admob ios swift

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

资源字符串中的换行符不起作用

这个问题存在两次:

换行符 \n 不起作用,它显示为字符串

字符串资源换行 /n 不可能吗?

但是 \n 或 strings.xml 中的回车键都没有给我设置文本的 textView 中的换行符。有谁知道为什么?

我的文本视图:

   <TextView
    android:id="@+id/textView"
    android:layout_width="952dp"
    android:layout_height="172dp"
    android:layout_marginStart="8dp"
    android:layout_marginTop="8dp"
    android:layout_marginEnd="8dp"
    android:layout_marginBottom="8dp"
    android:ems="10"
    android:inputType="textPersonName"
    android:text="@string/give_username"
    android:textSize="45sp"
    android:textStyle="bold"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.003" />
Run Code Online (Sandbox Code Playgroud)

我如何设置文本:

this.textView.setText(R.string.give_sex_age);
Run Code Online (Sandbox Code Playgroud)

资源中的字符串:

<string name="give_sex_age">You are a new user.\nPlease give your sex and your age</string>
Run Code Online (Sandbox Code Playgroud)

android textview android-resources

2
推荐指数
1
解决办法
2394
查看次数

当我在程序中创建堆栈时,为什么它存储在堆中而不是堆栈?

如果我在java方法中创建一个堆栈,Deque<Integer> stack = new LinkedList<Integer>();为什么这个堆栈变量存储在堆中但不存储在堆栈中?

java

2
推荐指数
1
解决办法
59
查看次数

使用 gradle 将清单文件添加到 jar

如何在 jar 文件中添加清单文件?

plugins {
        id 'java'
        id 'application'
}

application {
        mainClassName = 'com.Main'
}

jar {
        from "MANIFEST.MF"
}

sourceCompatibility = 11
Run Code Online (Sandbox Code Playgroud)

当我尝试执行 jar 时,我得到以下信息:

% java -jar tmpApp.jar
没有主清单属性,在 tmpApp.jar

java jar manifest gradle

2
推荐指数
1
解决办法
3843
查看次数

如果我对不返回任何内容的函数使用 async/await 会发生什么?

首先,我是 javascript 的初学者,尤其是在 async/await/promise 方面。

我想seekTo()同步使用视频库(react-native-youtube)中的方法。在MDN 指南中,它说 Await Expression 需要 Promise 或一些值。seekTo()即使它什么都不返回,是否可以使用该方法?

initVideo = async () => {
  await this._youTubeRef && this._youTubeRef.seekTo(startTime);
  this.setState({
    isPlaying: true
  });
}
Run Code Online (Sandbox Code Playgroud)

如果有人非常了解 react-native-youtube 库,请告诉我如何将视频的 endTime 设置为部分播放。

javascript async-await android-youtube-api reactjs react-native

2
推荐指数
1
解决办法
1867
查看次数

如何将构造函数值传递给方法

它在这里说,构建两个构造函数:一个接受一个事件编号和一个客户数,一个是默认构造函数,它传递"A833"和0

我如何构建这些构造函数,我现在有这个代码:

public Event(String EventNumber, int NumOfGuests) {
    this.EventNum = EventNumber;
    this.NumOfG = NumOfGuests;
}
public Event(){
    this.EventNum = "A000";
    this.NumOfG = 0;
}


public void setEventNumber(String EventNumber){
    this.EventNum = EventNumber;
}
public void setGuests(int NumOfGuests){
    this.NumOfG = NumOfGuests; 
    this.Price = NumOfGuests * PRICE_PER_G;
}
Run Code Online (Sandbox Code Playgroud)

如何将构造函数值传递给setEventNumber(String EventNumber)和setGuests(int NumOfGuests)?

java

1
推荐指数
1
解决办法
80
查看次数