我希望我的应用程序生成的 TXT 文件(以及包含它们的文件夹)可以通过手机的文件浏览器访问,甚至可以在通过 USB 插入手机时从 PC 访问。Android 的官方文档描述了不同类型的存储,具体取决于它是“内部”还是“外部”(Google 的术语)。当然,我不希望在卸载应用程序时删除这些 TXT 文件。
我想对应用程序中的文件位置进行硬编码这一事实并不意味着我必须使用完整的绝对文件路径作为参数。我的意思是相对文件路径将被硬编码(相同的任务,相同的文件,相同的位置)。
该应用程序供个人使用(我的意思是我自己使用它),因此满足 Google Play 商店的要求目前不是首要任务。
try {
// Dedicated folder would be better...
// ...but not even in the root folder works...
// FIXME T_T
FileWriter writer = new FileWriter("/storage/emulated/0/myfile.txt");
writer.write(my_string_for_file);
writer.flush();
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
// ...always throws FileNotFoundException with Permission DENIED
Run Code Online (Sandbox Code Playgroud)
这将是 PC 上的 Python,5 分钟内就完成了!3个小时了我还是没明白??我想哭...
所以,我想始终将一些输出保存在同一个文件、同一个路径中。我希望当我通过 USB 插入电脑时可以从我的电脑以及手机的文件浏览器访问该 TXT 文件。例如,在 Python …
在某些情况下,PHP 中调用的内置函数会mysqli_query返回null. 解释如何使用它的函数的文档没有预见到这种行为,所以我试图深入研究 PHP 的源代码本身,发布在 GitHub 上,看看我是否能弄清楚为什么有时会mysqli_query返回null。
查询本身似乎不是问题:我以两种不同的方式测试了相关的 SQL 查询:
mysqli_query(). 它们在此测试下工作,并且函数返回true。但是,在某些情况下,这些相同的查询会返回null。mysqli当mysqli_query函数开始运行时,当这个“返回null失败”发生时,链接对象就存在。
因此,查看 PHP 的 GitHub 存储库,我找到了名为的文件,mysqli_nonapi.c并且在该文件的第 556 行中,似乎是内置mysqli_query定义。查看其中的代码,它似乎执行了基本检查,如果失败,则返回null. 这是上面链接的第一行:
/* {{{ proto mixed mysqli_query(object link, string query [,int resultmode]) */
PHP_FUNCTION(mysqli_query){
MY_MYSQL *mysql;
zval *mysql_link;
MYSQLI_RESOURCE *mysqli_resource;
MYSQL_RES *result = NULL;
char *query …Run Code Online (Sandbox Code Playgroud) 使用我在StackOverflow 答案中找到的代码,我可以成功地用手指在 Canvas 中绘制任何内容,并且在绘制时我会看到我绘制的内容。由此,我想创建一个在按下按钮时触发的函数,该函数将执行两件事:
为此,我稍微修改了代码onTouchEvent,因此它相应地存储每个绘制点:
@Override
public boolean onTouchEvent(MotionEvent event) {
StrokePoint point;
switch (event.getAction()){
case MotionEvent.ACTION_DOWN:
mPath.moveTo(event.getX(), event.getY());
// Retrieve strokes in memory
stroke_buffer = new Stroke();
stroke_buffer.points = new ArrayList<StrokePoint>();
point = new StrokePoint();
point.x = event.getX();
point.y = event.getY();
stroke_buffer.points.add( point );
break;
case MotionEvent.ACTION_MOVE:
mPath.lineTo(event.getX(), event.getY());
// Retrieve strokes in memory
point = new StrokePoint();
point.x = event.getX();
point.y = event.getY();
stroke_buffer.points.add( point );
invalidate();
break;
case MotionEvent.ACTION_UP:
// Retrieve strokes …Run Code Online (Sandbox Code Playgroud) 我正在尝试设置User - UserProfile关系,显示表单并保存数据.
提交后,将保存数据,但密码字段不会被哈希处理.
Forms.py
class UserForm(forms.ModelForm):
username = forms.RegexField(label="Username", max_length=30,
regex=r'^[\w.@+-]+$', help_text = "My text",
error_messages = {'invalid':
"This value may contain only letters, numbers and @/./+/-/_ characters."
}
)
password = forms.CharField(label="Password",
widget=forms.PasswordInput)
class Meta:
model = User
fields = ["first_name", "last_name", "username", "email", "password"]
def clean_username(self):
username = self.cleaned_data['username']
if not re.search(r'^\w+$', username):
raise forms.ValidationError(
'Username can contain only alphanumeric characters')
try:
User.objects.get(username=username)
except ObjectDoesNotExist:
return username
raise forms.ValidationError('Username is already taken')
class UserProfileForm(forms.ModelForm):
class …Run Code Online (Sandbox Code Playgroud) 我最近在本地网络的服务器中安装了带有 Docker 的 GitLab。我正在尝试迁移我在 PC 中本地维护的存储库。我通过本地网络中的本地 HTTP 服务器公开它作为解决方法,只是为了能够将其导入 GitLab,因为 GitLab 管理面板中几乎所有可用的选项都类似于“从 GitHub 导入”,这些选项都没有帮助在我的情况下(我的意思是:我不能只上传我的存储库.git文件夹来导入它吗? -retorically 说)顺便说一句,我选择的是“通过 URL 存储”:
我不得不禁用一个安全设置,因为 GitLab 不允许从指向本地网络中服务器的 URL 导入。因此,我在出站服务部分打开了名为“允许从钩子和服务向本地网络发出请求”的选项。
然后,我尝试从 GitLab 创建一个新项目,使用名为“导入项目”的选项卡并在其中填写表单。然后,它会持续运行很长时间,并显示“正在导入...”消息,看起来它一直在一遍又一遍地重试,直到显示此消息:
每次导入尝试都失败:将存储库http://111.222.33.44/path/to/my/repository/root/folder/.git导入 myuser/my_project 时出错- 13:CreateRepositoryFromURL: clone cmd wait: exit status 128. 请尝试再次。
我一直在阅读在线发布的 Gitlab 手册,关于 GitLab 的不同文章,搜索有关此错误的信息并发现了数十张具有类似(但非常不同!)问题的票......但我仍然不明白:为什么我不能立即上传我的存储库?
给定的 URL本身不是问题:如果我在网络浏览器中输入它,我可以在网络浏览器中清楚地看到我项目的整个文件系统,如果我添加/.git到它,我什至可以看到隐藏.git文件夹的内容在我的浏览器中......但是,出于某种原因,这对于 GitLab 来说还不够......
我对此感到非常困惑。我找到的链接之一是将存储库从 Gitlab 服务器导出到另一台 Gitlab 服务器(请注意,我不是从其他 Gitlab 导入的,而是在 PC 中创建的一个简单的 git 存储库,使用简单的 .findinggit init阅读材料远程类似于我的案例不是小菜一碟:我一整天都在寻找这个问题,但没有成功......)。在该链接中,有一部分内容是:
您将收到克隆空存储库的警告。这是正常的。切换到已签出存储库的工作目录并执行 git pull
...所以我找到了我的 GitLab 安装创建“空存储库”的文件夹,并尝试 …
我将在 Google Play 中上传我的应用程序作为 alpha 测试,但我想知道......
在 alpha 测试期间在我的应用程序中启用真正的 Admob 广告(无测试广告)是否正确?或者我应该稍后添加它们,当我上传我的 apk 以便在 google play 中进行生产时?
我正在学习本教程.在页面的末尾,我不得不修改我的views.py和我的urls.py
urls.py:
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.IndexView.as_view(), name='index'),
url(r'^(?P<pk>[0-9]+)/$',
views.DetailView.as_view(), name='detail'),
url(r'^(?P<pk>[0-9]+)/results/$',
views.ResultsView.as_view(), name='results'),
url(r'^(?P<question_id>[0-9]+)/vote/$',
views.vote, name='vote'),
]
Run Code Online (Sandbox Code Playgroud)
views.py:
from django.shortcuts import get_object_or_404, render
from django.http import HttpResponseRedirect
from django.core.urlresolvers import reverse
from django.views import generic
from .models import Choice, Question
class IndexView(generic.ListView):
template_name = 'polls/index.html'
context_object_name = 'latest_question_list'
# SebasSBM's note: following the answer below, I assume that this method
# was wrongly identated like this, in the original …Run Code Online (Sandbox Code Playgroud) 我正在尝试解决反序列化HashMap<Integer, MyParcelablePojo>. 试图找到答案,我发现了以下问题:
如果我尝试:
HashMap<Integer, MyParcelablePojo> mHashMap = new Gson().fromJson(the_json_string, HashMap.class);
Run Code Online (Sandbox Code Playgroud)
...结果HashMap包含LinkedTreeMap对象而不是MyParcelablePojo对象。
因此,我尝试以TypeToken与我在上面链接的第二个问题中看到的类似的方式使用 a ,但它不允许我指定HashMap. 如果我尝试:
// XXX I am not sure if this "Type" is the correct one
// there were several "Type" classes to choose from
import java.lang.reflect.Type;
import com.google.gson.reflect.TypeToken;
Type collection_type = new TypeToken<HashMap<Integer, MyParcelablePojo>>();
Run Code Online (Sandbox Code Playgroud)
...Android Studio 向我展示了这个错误:
“TypeToken()”在“com.google.gson.reflect.TypeToken”中具有受保护的访问权限
...只是为了坚持我看到的例子,我试着new TypeToken<HashMap<T>>看看错误是否消失了(只是出于好奇,我对使用泛型根本不感兴趣T),然后它说“无法解析 T”,这太奇怪了......但这与我的问题无关,我只是为了完整性而添加它......
...回到正题,所以TypeToken …