小编Lau*_*ent的帖子

只保留字符串中的字母字符(多语言)

在stackoverflow上有很多关于如何只保留字符串中的字母字符的答案,最常见的是着名的正则表达式'[^a-zA-Z]'.但这个答案是完全错误的,因为它假设每个人都只写英文......我想我可以对所有这些答案进行投票,但我终于认为再次提出这个问题会更有建设性,因为我找不到答案.

在python中是否有一种简单(或不......)的方式,只保留适用于所有语言的字符串中的字母字符?我想也许关于一个可以像javascript中的xregexp那样做的库......所有语言我的意思是英语,但也有法语,俄语,中文,希腊语......等等

python string multilingual

9
推荐指数
1
解决办法
1033
查看次数

使用Repository模式的多个数据源的体系结构

我有一个使用MVP架构的项目.该项目使用Repository模式.

我有两个数据源,第一个来自远程JSON Api PollutionApiService,第二个是我从assets文件夹中的XML文件获得的简单数据:air_quality_levels.xml.网络数据包含实时污染等级,XML文件包含这些污染等级的限制标准.

现在我只为JSON Api实现了一个Repository,它看起来像这样:

接口

public interface Repository {
    Observable<Aqicn> getPollutionLevelsFromNetwork(String city, String authToken);
   Observable<Aqicn> getPollutionLevels(String city, String authToken);
}
Run Code Online (Sandbox Code Playgroud)

public class PollutionLevelsRepository implements Repository {
    private PollutionApiService pollutionApiService;
    private static Observable<Aqicn> pollutionData = null;


    public PollutionLevelsRepository(PollutionApiService pollutionApiService) {
        this.pollutionApiService = pollutionApiService;
    }

    @Override
    public Observable<Aqicn> getPollutionLevelsFromNetwork(String city, String authToken) {
        pollutionData = pollutionApiService.getPollutionObservable(city, authToken);
        return pollutionData;
    }

    @Override
    public Observable<Aqicn> getPollutionLevels(String city, String authToken) {
        return getPollutionLevelsFromNetwork(city, authToken);
    }
}
Run Code Online (Sandbox Code Playgroud)

我是否应该使用相同的存储库(添加更多方法)来获取我将从assets文件夹中的XML文件获取的数据?

如果我必须使用两个存储库,我应该如何命名第二个存储库接口?我从来没有几个存储库,所以我总是使用通用名称"Repository"作为接口.我不能给它与该类相同的名称,并且不能添加"I"前缀,因为我读它是不好的做法...或者我应该保留这个"存储库"名称并将新的存储库放在另一个包中?

这是我的实际项目结构,请注意我按功能打包但我将两个存储库放在公共包中,因为它获取了我的两个功能(donut和pollutionlevels)将使用的数据: …

architecture mvp android repository

5
推荐指数
1
解决办法
1531
查看次数

使用ButterKnife了解点击的视图

我有这个代码:

@OnClick( {R.id.iv_first,R.id.iv_second} )
public void launchCards() {
    Log.i(TAG,"clicked");
}
Run Code Online (Sandbox Code Playgroud)

有没有办法知道该launchCards()方法中ImageView单击了哪两个?

events android click butterknife

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