Skip to content

Instantly share code, notes, and snippets.

View showsky's full-sized avatar
👋
Hello World~

Ting Cheng showsky

👋
Hello World~
View GitHub Profile
@showsky
showsky / cookie.m
Created September 24, 2017 14:17
cookie.m
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.util.AttributeSet;
import android.util.TypedValue;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebResourceError;
import android.webkit.WebResourceRequest;
import android.webkit.WebSettings;
@showsky
showsky / example.java
Created January 7, 2017 17:17
Android FileProvider
....
String realFileUri = new File(AppHelper.getDirectoryPath(), AppHelper.getFileName() + ".jpeg");
mMediaUri = FileProvider.getUriForFile(
getContext(),
"com.nnnnnnn.provider",
realFileUri
);
@showsky
showsky / GeneralService.h
Last active February 3, 2016 12:42
多重 delegate,有別於一般的一對一 delegate,使用 weak 避免 reference cycle。大家都不熟悉所以採用 NSNotifications
@protocol ServiceDelegate <NSObject>
@optional
- (void)generalService:(GeneralService *)service didRetrieveEntries:(NSArray *)entries;
@end
@interface GeneralService : NSObject
- (void)registerDelegate:(id<ServiceDelegate>)delegate;
@showsky
showsky / HZip.php
Created October 26, 2015 09:28
Backup file to google drive
<?php
class HZip {
/**
* Add files and sub-directories in a folder to zip file.
* @param string $folder
* @param ZipArchive $zipFile
* @param int $exclusiveLength Number of text to be exclusived from the file path.
*/
private static function folderToZip($folder, &$zipFile, $exclusiveLength) {
@showsky
showsky / generic.java
Last active October 21, 2015 08:18
RxJava, RxAndroid
new Thread() {
@Override
public void run() {
super.run();
for (File folder : folders) {
File[] files = folder.listFiles();
for (File file : files) {
if (file.getName().endsWith(".png")) {
final Bitmap bitmap = getBitmapFromFile(file);
getActivity().runOnUiThread(new Runnable() {
@showsky
showsky / README.md
Created October 12, 2015 09:02
Certificate pinning
<?php
function fetch_image($url, $referer)
{
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, FALSE);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_REFERER, $referer);
$re = curl_exec($curl);
if (curl_errno($curl))
@showsky
showsky / build.gradle
Last active August 29, 2015 14:22
Android exportJar task
def appName = 'sitemaji_' + defaultConfig.versionName + '_' + defaultConfig.versionCode + '.jar'
task deleteJar(type: Delete) {
delete 'release/' + appName
}
task exportJar(type: Copy) {
from('build/intermediates/bundles/release/')
into('release/')
include('classes.jar')
rename('classes.jar', appName)
}
@showsky
showsky / parse.php
Created March 20, 2015 15:37
Parse PTT data
<?php
define(URL_BASE, 'https://www.ptt.cc');
define(URL_INDEX, URL_BASE . '/bbs/Badminton/index.html');
define(MAX_LIMIT, 300);
define(KEY_WROD, '[揪人]');
$result = array();
function get_html($url) {