小编Seb*_*SBM的帖子

如何将 TXT 文件写入“/storage/emulated/0/myapp/myfile.txt”,以便稍后可以从文件浏览器打开它们?

我希望我的应用程序生成的 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 …

java android file

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

为什么`mysqli_query()` 返回null?我怎样才能弄清楚?

在某些情况下,PHP 中调用的内置函数会mysqli_query返回null. 解释如何使用它的函数的文档没有预见到这种行为,所以我试图深入研究 PHP 的源代码本身,发布在 GitHub 上,看看我是否能弄清楚为什么有时会mysqli_query返回null

查询本身似乎不是问题:我以两种不同的方式测试了相关的 SQL 查询:

  • 在 MySQL 服务器中手动执行它们。它们工作正常。
  • 在我创建的脚本中,其唯一目的是通过mysqli_query(). 它们在此测试下工作,并且函数返回true

但是,在某些情况下,这些相同的查询会返回nullmysqlimysqli_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)

php c mysql

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

如何使用 View 的子级制作绘图动画,逐条绘制每条 Path 的线条?

使用我在StackOverflow 答案中找到的代码,我可以成功地用手指在 Canvas 中绘制任何内容,并且在绘制时我会看到我绘制的内容。由此,我想创建一个在按下按钮时触发的函数,该函数将执行两件事:

  1. 擦除画布上绘制的内容。
  2. 通过以恒定的速度一条一条地重新绘制每条路径的线条,重播在画布被清除之前在其上绘制的所有图片。

为此,我稍微修改了代码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)

java android draw

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

Django,ModelForms,User和UserProfile - 不是哈希密码

我正在尝试设置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)

django django-forms

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

为什么 Gitlab 无法从本地网络导入存储库,状态码为 128?

我最近在本地网络的服务器中安装了带有 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 安装创建“空存储库”的文件夹,并尝试 …

git gitlab-omnibus gitlab-ce

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

Google Play 的 alpha 或 beta 测试期间是否允许使用 Admob 广告?

我将在 Google Play 中上传我的应用程序作为 alpha 测试,但我想知道......

在 alpha 测试期间在我的应用程序中启用真正的 Admob 广告(无测试广告)是否正确?或者我应该稍后添加它们,当我上传我的 apk 以便在 google play 中进行生产时?

android admob

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

IndexView缺少QuerySet.定义IndexView.model - 教程4 django

我正在学习本教程.在页面的末尾,我不得不修改我的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)

python django

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

为什么我不能按照我需要的方式使用 TypeToken?

我正在尝试解决反序列化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 …

java oop generics android gson

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

标签 统计

android ×4

java ×3

django ×2

admob ×1

c ×1

django-forms ×1

draw ×1

file ×1

generics ×1

git ×1

gitlab-ce ×1

gitlab-omnibus ×1

gson ×1

mysql ×1

oop ×1

php ×1

python ×1