小编rob*_*obd的帖子

Android读取文本原始资源文件

事情很简单,但不能按原样运作.

我有一个文本文件作为原始资源添加.文本文件包含如下文本:

b)如果适用法律要求对软件提供任何担保,则所有此类担保的有效期限为交付日期后的第九十(90)天.

(c)虚拟定向,其经销商,经销商,代理商或雇员提供的任何口头或书面信息或建议均不构成保证或以任何方式增加此处提供的任何保证的范围.

(d)(仅限美国)有些州不允许排除默示担保,因此上述排除条款可能不适用于您.本担保赋予您特定的法律权利,您可能还拥有其他法律权利,这些权利因国家/地区而异.

在我的屏幕上,我有这样的布局:

<LinearLayout  xmlns:android="http://schemas.android.com/apk/res/android"
                     android:layout_width="fill_parent" 
                     android:layout_height="wrap_content" 
                     android:gravity="center" 
                     android:layout_weight="1.0"
                     android:layout_below="@+id/logoLayout"
                     android:background="@drawable/list_background"> 

            <ScrollView android:layout_width="fill_parent"
                        android:layout_height="fill_parent">

                    <TextView  android:id="@+id/txtRawResource" 
                               android:layout_width="fill_parent" 
                               android:layout_height="fill_parent"
                               android:padding="3dip"/>
            </ScrollView>  

    </LinearLayout>
Run Code Online (Sandbox Code Playgroud)

读取原始资源的代码是:

TextView txtRawResource= (TextView)findViewById(R.id.txtRawResource);

txtDisclaimer.setText(Utils.readRawTextFile(ctx, R.raw.rawtextsample);

public static String readRawTextFile(Context ctx, int resId)
{
    InputStream inputStream = ctx.getResources().openRawResource(resId);

    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();

    int i;
    try {
        i = inputStream.read();
        while (i != -1)
        {
            byteArrayOutputStream.write(i);
            i = inputStream.read();
        }
        inputStream.close();
    } catch (IOException e) {
        return null;
    }
    return byteArrayOutputStream.toString();
}
Run Code Online (Sandbox Code Playgroud)

文本得到了显示,但在每一行后我得到一个奇怪的字符[]如何删除该字符?我认为这是新线.

工作解决方案

public static …
Run Code Online (Sandbox Code Playgroud)

resources android text

117
推荐指数
4
解决办法
17万
查看次数

Google使用多个字符映射标记标签

我正在尝试将4个字符的标签(例如"A123")添加到Google地图标记中,该标记具有使用自定义路径定义的宽图标.

var marker = new google.maps.Marker({
  position: latLon,
  label: { text: 'A123' },
  map: map,
  icon: {
    path: 'custom icon path',
    fillColor: '#000000',
    labelOrigin: new google.maps.Point(26.5, 20),
    anchor: new google.maps.Point(26.5, 43)
    scale: 1,
  }
});
Run Code Online (Sandbox Code Playgroud)

所述标识标签API被限制为单个字符,所以只示出了具有在上面的例子中"A"的标记物.我尝试使用chrome开发人员工具来破解由gmaps创建的html并恢复更长的标签.它完美显示,无需修改所需的CSS,所以我只需要找到一种方法来恢复谷歌地图剥离的其他标签字符.

我提出了Google地图问题,要求取消此限制.请考虑通过访问上面的链接投票支持Google问题并主演该问题以鼓励Google修复它 - 谢谢!

但与此同时,我是否可以使用一种解决方法来删除一个char限制?

有没有办法我可以创建google.maps.Marker的自定义扩展程序来显示我更长的标签?

google-maps google-maps-api-3

41
推荐指数
3
解决办法
11万
查看次数

在Android应用程序中获取产品风味或构建变体

我有一个Android应用程序,在我的build.gradle文件中配置了许多不同的产品风格,例如

productFlavors {
    someFlavor {}
    anotherFlavor {}
}
Run Code Online (Sandbox Code Playgroud)

在我的应用程序代码中,我希望能够获得当前编译的flavor(或构建变体)的名称.一个解决方案是:

productFlavors {
    someFlavor {
        buildConfig "public static final String PRODUCT_FLAVOR = \"someFlavor\";"
    }
    anotherFlavor {
        buildConfig "public static final String PRODUCT_FLAVOR = \"anotherFlavor\";"
    }
}
Run Code Online (Sandbox Code Playgroud)

然后在我的Android应用程序调用BuildConfig.PRODUCT_FLAVOR.

有什么方法可以让我自动做到这一点吗?或者是否有一些其他API在android我可以用来获取产品风味名称?

android gradle

39
推荐指数
2
解决办法
2万
查看次数

Google Apps脚本中的数组支持哪些功能?

我继续发现GAS中缺少数组函数,例如调用find给出错误:Cannot find function find in object

我能找到的唯一文档有些含糊不清:https: //developers.google.com/apps-script/guides/services/#basic_javascript_features

Apps脚本基于JavaScript 1.6,以及1.7和1.8中的一些功能.因此,除了内置和高级Google服务之外,还可以使用许多基本的JavaScript功能:您可以使用Array,Date,RegExp等常用对象,以及Math和Object全局对象.但是,由于Apps脚本代码在Google的服务器上运行(不是客户端,HTML服务页面除外),因此无法使用基于浏览器的功能(如DOM操作或Window API).

如何查看Array上可用的确切方法?

google-apps-script

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

如何在Android中使用SurfaceView附加MediaPlayer?

我正在用Android媒体播放器对象构建视频播放器.我能够听到音频,但视频没有出现在surfaceView上.这是我的代码

public class PlayerActivity extends Activity implements SurfaceHolder.Callback {
    String path;
    private MediaPlayer mp;
    private SurfaceView mPreview;
    private SurfaceHolder holder;
    boolean pausing = false;
    public static String filepath;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_player);

        getWindow().setFormat(PixelFormat.UNKNOWN);
        mPreview = (SurfaceView)findViewById(R.id.surfaceView);
        holder = mPreview.getHolder();
        holder.setFixedSize(176, 144);
        holder.addCallback(this);
        holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
        mp = new MediaPlayer();

        mp.setDisplay(holder);
        try {
            Intent intent = getIntent();
            Uri fileuri = intent.getData();
            filepath=fileuri.getPath();
        } catch(Exception e) {}

        try {
            mp.setDataSource(filepath);
            mp.prepare();
        } catch (IllegalArgumentException e) {
            e.printStackTrace();
        } catch (IllegalStateException …
Run Code Online (Sandbox Code Playgroud)

android surfaceview media-player surfaceholder

12
推荐指数
1
解决办法
3万
查看次数

如何删除捆绑程序安装的旧 ruby​​ 版本的 gems?

我想释放为旧 ruby​​ 版本安装的 gems 在我的生产环境中占用的磁盘空间。我不相信bundle clean在这种情况下会起作用,因为我认为它不会清除其他红宝石的旧宝石。

这些 gems 通过 capistrano 安装并安装在自定义位置,而不是系统范围内。在我的/path/to/my-project/shared/bundle/ruby目录中,我看到 2 个子目录 - 2.2.0& 2.3.0。由于我现在使用 ruby​​ 2.3,删除2.2.0目录是否安全?还有什么我需要做的吗?

ruby-on-rails bundler

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

Docker撰写错误:构建包含不受支持的选项:'shm_size'

我正在尝试使用shm_size构建docker映像时使用该选项docker compose。我的docker-compose.yml样子是这样的:

version: '3'
services:
  db:
    build:
      context: 'db'
      shm_size: '6gb'
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我看到错误:

services.db.build contains unsupported option: 'shm_size'

有谁知道为什么不支持此功能?

在具有以下版本的MacOS上运行docker app:

Engine: 18.03.1-ce Compose: 1.21.1 Machine: 0.14.0

docker-compose

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

是否可以从剧作家中的定位器对象获取选择器?

我正在使用页面对象模型来开发剧作家的自动化测试。因此,我正在构建一个类来保存我的定位器并公开定位器,但不一定是使用的选择器。定位器是否有办法共享其选择器?

exports.MyWebPageModel = class MyWebPageModel {
  constructor(page) {
    this.myMultiSelect = page.locator('#select-group select');
    this.submitButton = page.locator('#submit-btn');
  }
}
Run Code Online (Sandbox Code Playgroud)
test('validate multi-select submission', ({page}) -> {
  const myPage = new MyWebPageModel(page);
  const selectChoices = ['choice1', 'choice2', 'choice4'];
  await myPage.myMultiSelect.selectOptions(selectedChoices);
  Promise.all([
    page.waitForNavigation(),
    myPage.submitButton.click()
  ]);

  /* do tests on new page, click it's back button to return to previous page */

  const allSelectedValues = await page.$eval(myPage.myMultiSelect.???, e => Array.from(e.selectedOptions).map(option => option.value));  // get the selected options from select element
  expect(allSelectedValues).toEqual(selectedChoices);  // verify the selected options …
Run Code Online (Sandbox Code Playgroud)

javascript automation ui-automation playwright

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

RubyMine无法识别编辑器中使用bundler安装的gem

我很难让RubyMine正确地看到我的宝石.我看到的问题是编辑器屏幕无法识别任何宝石的任何类,例如对于MyClass <ActiveRecord :: Base,我看到一个黄色警告:Cannot find 'ActiveRecord'.

我正在使用bundler,我为每个项目配置了我的宝石并安装在/some/project_dir/.bundle/gems中

我已经看到了这个错误:http://youtrack.jetbrains.com/issue/RUBY-14542,所以我试图通过启动RubyMine来解决这个问题,如下所示:

GEM_HOME="/some/project_dir/.bundle/gems/ruby/1.8" mine

我的RubyGems环境看起来是正确的 - 这是相关的提取:

....
Sdk Gem paths: 
    ~/.rbenv/versions/ree-1.8.7-2012.02/lib/ruby/gems/1.8/gems
    /some/project_dir/.bundle/gems/ruby/1.8/gems
    ~/.rbenv/versions/ree-1.8.7-2012.02/lib/ruby/gems/1.8/bundler/gems
    /some/project_dir/.bundle/gems/ruby/1.8/bundler/gems
Gems used for 'project':
    rails (bundled)
        /some/project_dir/.bundle/gems/ruby/1.8/bundler/gems/rails-857c6ee62c05
    rspec (bundled(1.3.2))
        /some/project_dir/.bundle/gems/ruby/1.8/gems/rspec-1.3.2
Run Code Online (Sandbox Code Playgroud)

....

所以它似乎正在使用宝石的正确路径:

/some/project_dir:ls -1 /some/project_dir/.bundle/gems/ruby/1.8/gems    
    Ascii85-1.0.1
    Ascii85-1.0.2
    GeoRuby-1.3.3
    abstract-1.0.0
    ....
Run Code Online (Sandbox Code Playgroud)

我看到Ruby SDK和Gems首选项窗格下列出的gem,但编辑器窗格无法识别其中的任何文件.

这似乎是一个类似的问题,但即使使用指定的解决方法,我仍然会看到问题.


更新:我从rails 2.3升级到rails 3.0(通过升级Gemfile并运行bundle install),我现在能够在编辑器中看到rails源,但没有其他宝石.使用:github =>指令安装Rails:

gem 'rails', :github => 'rails/rails', :branch => '3-0-stable'
Run Code Online (Sandbox Code Playgroud)

所以我认为这可能与它有关.

Cross发布到这个bug:http://youtrack.jetbrains.com/issue/RUBY-14542

rubymine

4
推荐指数
2
解决办法
6249
查看次数

如何让rubocop显示严重警告或更糟?

我有一个很大的遗留代码库,我想开始处理警告.我怎样才能让rubocop向我展示警告(以W开头的行:)更糟糕的是,并且压制所有约定(以C :)开头的行?

rubocop

4
推荐指数
2
解决办法
1081
查看次数