我的应用程序在所有 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) 我看到这篇帖子说,当strings.xml应用程序太大时应用程序可能崩溃.我的strings.xml文件现在是700行,它会在很长一段时间内变大.
帖子中的答案说使用SQLite数据库可以防止这种情况.
但在我的情况下,我有一个SQLite数据库,可以获取条目的数据,strings.xml因为我的应用程序使用不同语言的区域设置.
我的问题是,有多大strings.xml?如果我达到线路限制,我该怎么做才能防止崩溃?
考虑这种情况:
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?
我正在测试华为的地图套件。
该应用程序已在 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) 这是我在调度程序上的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)
最终资源耗尽,服务器冻结.
我正在实现一个webRTCandroid 应用程序,与我通信的服务器是信令服务器(通过 websockets)和 kurento 媒体服务器。
时间顺序为:
sdpOffericeCandidate每个客户端都发送了将要创建的所有内容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: …
我们遵循 Google 在 TableView 中展示广告的示例:
在 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) 这个问题存在两次:
但是 \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) 如果我在java方法中创建一个堆栈,Deque<Integer> stack = new LinkedList<Integer>();为什么这个堆栈变量存储在堆中但不存储在堆栈中?
如何在 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
首先,我是 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
它在这里说,构建两个构造函数:一个接受一个事件编号和一个客户数,一个是默认构造函数,它传递"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 ×7
android ×5
admob ×1
android-10.0 ×1
async-await ×1
gradle ×1
ios ×1
jar ×1
java-8 ×1
javascript ×1
kurento ×1
manifest ×1
mkdir ×1
react-native ×1
reactjs ×1
spring ×1
swift ×1
textview ×1
tomcat ×1
webrtc ×1