我正在尝试将测试数据发送到我的 firebase 数据库。在 android studio 中,我选择了 Tools > Firebase > Assistant FB > Realtime Database > Connect your app to Firebase(Connected) > Add the realtime database to your app(正确设置依赖项)。
然后我在我的活动中添加示例代码:
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("message");
myRef.setValue("Hello, World!");
Run Code Online (Sandbox Code Playgroud)
我在firebase中设置了规则:
{
"rules": {
".read": true,
".write": true
}
}
Run Code Online (Sandbox Code Playgroud)
但数据不会添加到实时数据库中。也许我需要一些许可?在 logcat AS 中没有任何错误
更新:
不添加数据
private DatabaseReference mDatabase;
mDatabase = FirebaseDatabase.getInstance().getReference();
mDatabase.child("message").setValue("Hello, World!");
Run Code Online (Sandbox Code Playgroud)
也不要添加数据
Message mess = new Message("hello");
mDatabase.child("message").setValue(mess);
Run Code Online (Sandbox Code Playgroud)
班级留言
@IgnoreExtraProperties
public class Message {
public String mes; …
Run Code Online (Sandbox Code Playgroud) 我将库pydrive用于谷歌驱动器。现在我需要在谷歌驱动器中获取所有文件夹(根、父、子)名称。
我发现了这个:
self.drive.ListFile().GetList()
Run Code Online (Sandbox Code Playgroud)
但它返回所有文件。我可以只获取谷歌驱动器中的所有文件夹吗?
对不起我的英语不好。我有来自另一台服务器的一些数据,但我需要像 JSON 一样输出这些数据。
如果我在控制台中打印响应:
{
'responseStatus': {
'status': [],
},
'modelYear': [
1981,
1982
]
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我像有错误一样返回此响应HttpResponse
AttributeError:“str”对象没有属性“_meta”
这是我的代码:
data = serializers.serialize('json', response, ensure_ascii=False)
return HttpResponse(data, content_type="application/json")
Run Code Online (Sandbox Code Playgroud)
更新:
我尝试过这个:
from django.http import JsonResponse
def some_view(request):
...
return JsonResponse(response, safe=False)
Run Code Online (Sandbox Code Playgroud)
但有错误:
“ModelYears”类型的对象不可 JSON 序列化
更新:
我确实是这样的:
import json
from django.http import JsonResponse
def some_view(request):
...
return JsonResponse(json.loads(response))
Run Code Online (Sandbox Code Playgroud)
但有错误:
the JSON object must be str, bytes or bytearray, not 'ModelYears'
Run Code Online (Sandbox Code Playgroud) 我有一个像这样的字符串search = 'hello'
,我需要检查所有数组,看看是否包含hello
.
例如:
"hello" == "123hello123" | true
"hello" == "aasdasdasd123hello123" | true
"hello" == "123123hello" | true
Run Code Online (Sandbox Code Playgroud)
我需要搜索我的代码
list_all_files_in_google_drive
- 它是我的所有文件名数组
filename
- 名称文件,需要检查是否存在于谷歌驱动器中
if not any(file['title'] == filename for file in list_all_files_in_google_drive):
print('file not exist')
Run Code Online (Sandbox Code Playgroud)
我的代码不起作用,因为它的工作方式如下:
"hello" == "123hello123" | false
"hello" == "aasdasdasd123hello123" | false
"hello" == "123123hello" | false
"hello" == "hello" | true
Run Code Online (Sandbox Code Playgroud)
我需要它像这样工作:
"hello" == "123hello123" | true
"hello" == "aasdasdasd123hello123" | true
"hello" == "123123hello" | true
"hello" …
Run Code Online (Sandbox Code Playgroud) 我创建了一些用于学习 Firebase 远程配置的测试项目。这是 firebase https://monosnap.com/file/0xgQCL7oo7lyOjBs8CG3kZO0szBXh6 中的设置。波纹管我的代码:
final FirebaseRemoteConfig config = FirebaseRemoteConfig.getInstance();
FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
.setDeveloperModeEnabled(BuildConfig.DEBUG)
.build();
config.setConfigSettings(configSettings);
String onlineVersion = FirebaseRemoteConfig.getInstance().getString("android_current_version");// empty string
Run Code Online (Sandbox Code Playgroud)
我不知道为什么我不能从 firebase 获得价值
对不起我的英语不好。我有 id 类别列表,我确实提出了这样的要求:
for(Product cat:all_cats) {
new DefaultMediator()
.getProductsInCatalog(cat.getID())
.timeout(15, TimeUnit.SECONDS)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(list_products -> {
//do something
},
throwable -> {
Log.e("asd", "asd");
});
}
Run Code Online (Sandbox Code Playgroud)
我觉得不好。我如何使用 rxJava 发送请求列表?
对不起我的英语不好。我尝试在服务器上上传大型视频文件,此文件超过50 mb。当我上传小文件时,一切正常。在清单中,我设置了它android:largeHeap="true"
并android:hardwareAccelerated="false"
没有帮助我。下面是我的代码:
接口
@Multipart
@POST("/api/upload")
Observable<UploadVideoResponse> uploadVideo(@Header("Authorization") String userToken,
@Part MultipartBody.Part video);
Run Code Online (Sandbox Code Playgroud)
方法返回文件:
public static MultipartBody.Part getMultipartVideoBody(String pathVideo) {
try {
File videoFile = getFile(pathVideo);
RequestBody videoBody = RequestBody.create(MediaType.parse("video/*"), videoFile);
String fileName = videoFile.getName();
return MultipartBody.Part.createFormData("video", fileName, videoBody);
}catch (Exception e){
Log.e("File ", e.getMessage());
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
在服务器上上传方法
new DefaultApi().uploadVideo(
Utils.getHeaderToken(),
Utils.getMultipartVideoBody(pathVideo)
).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.doOnSubscribe(videoView::showLoading)
.doOnTerminate(videoView::hideLoading)
.subscribe(data -> {
videoView.setData(data);
}
, throwable -> {
}
);
}
Run Code Online (Sandbox Code Playgroud)
错误:
抛出OutOfMemoryError“未能分配100390006字节分配,其中16777216个空闲字节和92MB直到OOM”
完整的堆栈跟踪
09-11 03:53:00.571 6724-6976 / …
对不起我的英语不好。我需要打开一个 xlsx 文档并在最后一个位置写入新值。但我不明白该怎么做。我的算法是这样工作的:
l_workbook = load_workbook(old_log_tmp_path)
从那里获取所有价值
代码:
def iter_rows(ws):
for row in ws.iter_rows():
yield [cell for cell in row]
Run Code Online (Sandbox Code Playgroud)创建新的 xlsm 文件
代码:
workbook = xlsxwriter.Workbook(tf.name)
worksheet = workbook.add_worksheet()
Run Code Online (Sandbox Code Playgroud)将所有值复制l_workbook
到workbook -> worksheet
但我认为这是不对的,我认为它们以简单的方式存在。像这样:
l_workbook = load_workbook('EX2cRqM7xi1D.xlsx')
sheet = l_workbook.get_sheet_names()[0]
worksheet = l_workbook.get_sheet_by_name(sheet)
worksheet.write(1, 1, "TEST")
Run Code Online (Sandbox Code Playgroud)
运行该脚本给了我以下错误:
AttributeError: 'Worksheet' object has no attribute 'write'
Run Code Online (Sandbox Code Playgroud)
我的问题是:如何打开 xlsm 文件并向其添加新值(使用 openpyxl)?
更新:
我试试这个代码,但不起作用
import openpyxl
workbook = openpyxl.load_workbook('tmp3by148hj.xlsx')
ws = workbook.worksheets[0]
ws.cell(row=1, column=1).value = 'TEST'
Run Code Online (Sandbox Code Playgroud)